-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Not Applicable
-
None
-
Storage Engines - Foundations
-
545.317
-
SE Foundations - 2026-06-09
-
5
Background: The revised KEK design (SPM-4460) introduces a v2 KEK page format with a timestamp field, alongside the existing v1 format. Per Option C in the design doc, full compatibility is required — customers must be able to upgrade from v1 to v2, downgrade back to v1, and re-upgrade, without losing key data.
Without explicit test coverage of these transitions, a compatibility regression could go undetected until it surfaces in production, potentially months or years after the change.
Acceptance Criteria:
- Upgrade: a database with v1 KEK pages can be opened by v2 code; key data is accessible and timestamp is treated as 0
- Downgrade: a database with v2 KEK pages can be opened by v1.1 code; timestamp field is ignored and key data remains accessible
- Re-upgrade: a database that has gone through v1 -> v2 -> v1.1 -> v2 transitions works correctly with mixed-format KEK pages in storage
- All transitions are covered by automated tests
- is related to
-
WT-17535 Add set_key stub to WT_KEY_PROVIDER push API
-
- Closed
-
-
WT-17536 Implement set_key — in-memory pending key list
-
- Closed
-
-
WT-17537 Read new KEK page format and populate timestamp in WT_CRYPT_HEADER
-
- Closed
-
- related to
-
WT-17735 test/format (mode=switch) assertion in __rec_split_write
-
- Open
-