Skip to content

Update rocksdb crate from 0.24.0 to 0.25.0 #249

Description

@EddieHouston

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions