Skip to content

Durability version bump (v36) for CRC-per-txn #4217

@as51340

Description

@as51340

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:

  • 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.
  • v36 integration fixtures are added and the prior-version expected entries are updated, mirroring PR Durability version bump (v35) #4106.
  • No transaction CRC field is written or read yet; v36 bytes match v35.

Blocked by

None - can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    crc-walsWAL CRC32-per-txn feature work (sandcastle AFK queue)

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions