-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Schema Management, Test Compatibility
-
Storage Engines - Foundations
-
1,339.592
-
SE Foundations - 2026-09-29, SE Foundations - 2026-10-13
-
3
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.