You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump the durability format to v36, following the pattern established in PR #4106 ("Durability version bump (v35)"). This is a standalone, behavior-free version bump that reserves the new version number and sets up the loader/test scaffolding so the CRC-per-transaction feature can land independently on top of it.
Scope:
Add a new version constant kCrc32PerTxn = 36 in the durability version header and make kVersion resolve to it.
Pin the previous snapshot loader: add a LoadSnapshotVersion35 that is a full copy of the current "load current version" snapshot path, and dispatch v35 reads to it. The current/default snapshot loader now serves v36. (Snapshots are unchanged at v36 — this pinning only isolates future changes, matching the Durability version bump (v35) #4106 convention.)
Add integration durability test fixtures for v36 under the durability integration test tree (dataset + expected snapshot/WAL dumps + binary snapshot/WAL fixtures), and add the prior-version expected entries as Durability version bump (v35) #4106 did.
No CRC logic is added in this slice. At the end of this slice, v36 snapshot and WAL bytes are identical to v35.
Acceptance criteria
kCrc32PerTxn = 36 exists and kVersion resolves to 36.
The previous-version snapshot loader is pinned (e.g. LoadSnapshotVersion35) and v35 dispatches to it; the default loader serves v36.
Snapshots and WALs from versions v31–v35 still load successfully (existing durability integration tests pass).
A v36 dataset round-trips (snapshot + WAL) through the durability integration tests.
Parent
#4216
What to build
Bump the durability format to v36, following the pattern established in PR #4106 ("Durability version bump (v35)"). This is a standalone, behavior-free version bump that reserves the new version number and sets up the loader/test scaffolding so the CRC-per-transaction feature can land independently on top of it.
Scope:
kCrc32PerTxn = 36in the durability version header and makekVersionresolve to it.LoadSnapshotVersion35that is a full copy of the current "load current version" snapshot path, and dispatch v35 reads to it. The current/default snapshot loader now serves v36. (Snapshots are unchanged at v36 — this pinning only isolates future changes, matching the Durability version bump (v35) #4106 convention.)No CRC logic is added in this slice. At the end of this slice, v36 snapshot and WAL bytes are identical to v35.
Acceptance criteria
kCrc32PerTxn = 36exists andkVersionresolves to 36.LoadSnapshotVersion35) and v35 dispatches to it; the default loader serves v36.Blocked by
None - can start immediately.