-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Storage Engines - Foundations
-
851.007
-
None
-
None
Motivation
Create a local WiredTiger compatibility test to ensure safe upgrade/downgrade of versions with schema-epoch changes.
The suite under test/compatibility/suite/ currently has no schema-epoch coverage. Existing tests (e.g. test_disagg_stepup.py) exercise disagg step-up across releases but do not test schema epochs.
Definition of Done
- Add test/compatibility/suite/test_schema_epoch_compat.py modeled on test_disagg_stepup (palite page log, kv_home symlink, checkpoint_meta handoff).
- Restrict scenarios to older=mongodb-9.0, newer=develop (the meaningful disagg + schema-epoch pair).
- Upgrade (legacy → epoch): older leader never sets stable_disaggregated_schema_epoch; create durable layered table, insert, checkpoint (with role cycle); newer steps up, verifies durable rows, sets stable schema epoch, {{publish}}s a new table into shared metadata, checkpoints successfully.
- Downgrade (epoch → legacy): newer leader sets epoch + publish, checkpoints; older picks up without setting the live stable schema epoch; durable rows remain visible; local create without publish does not panic.
- Document any mongodb-9.0 limitations that force gating (e.g. close/checkpoint over a develop epoch-world page log) rather than silently weakening the upgrade leg.
- Test passes against local COMPATIBILITY_TEST builds of mongodb-9.0 and develop.