Update the rocksdb crate from 0.24.0 to 0.25.0.
This upgrades the bundled RocksDB from 10.4.2 to 11.8.1. It also includes several Rust binding memory-leak fixes, improved aarch64 build tuning, and support for newer RocksDB features.
Things to check as part of the update:
rocksdb 0.25.0 requires Rust 1.88, while our Docker builds currently use Rust 1.75;
- RocksDB 11 requires a C++20-compatible compiler;
- existing electrs databases can be opened and restarted successfully;
- indexing, prefix scans,
multi_get, and full compaction still work as expected.
RocksDB 11 no longer supports block-based SST format versions below 2. Our current RocksDB defaults to format version 6, so recent databases should be compatible, but we should verify this against an older production database before rollout.
No block-cache change should be needed: electrs explicitly creates a shared LRU cache, so RocksDB’s new default cache implementation should not apply.
Update the
rocksdbcrate from 0.24.0 to 0.25.0.This upgrades the bundled RocksDB from 10.4.2 to 11.8.1. It also includes several Rust binding memory-leak fixes, improved aarch64 build tuning, and support for newer RocksDB features.
Things to check as part of the update:
rocksdb0.25.0 requires Rust 1.88, while our Docker builds currently use Rust 1.75;multi_get, and full compaction still work as expected.RocksDB 11 no longer supports block-based SST format versions below 2. Our current RocksDB defaults to format version 6, so recent databases should be compatible, but we should verify this against an older production database before rollout.
No block-cache change should be needed: electrs explicitly creates a shared LRU cache, so RocksDB’s new default cache implementation should not apply.