Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

when the headers are null or empty we define headers_size = 0 and encode the headers using zero bytes. Since empty headers may be very common, this optimization can have a significant impact on overall storage and network usage.

...

  • Reads: Legacy records are served with an empty header set (header counts = 0).

  • Writes: All new records utilize the new storage format.

  • RocksDB: Implements a dual-Column Family approach. A "dual put/get" mechanism ensures a lazy upgrade of data as it is accessed.

  • Window/Session: Employs a clean break at the segment level—old segments stay as-is; new segments use the new format. Segment‑level versioning fits windowed and session stores because these stores are already partitioned by time and constrained by retention. This avoids dual–column family complexity in each small segment database while still enabling a natural rolling upgrade as older segments expire.


Up/downgrade limitations and required steps

...