-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Format
-
None
-
Storage Engines - Persistence
-
0.934
-
StorEng - Defined Pipeline
-
None
Problem
test/format decides whether precise checkpoints are enabled in several places, based on the requested setting, cache size, timestamps, table type, and in-memory configuration. However, the shared DisAgg helper later unconditionally adds precise_checkpoint=true to the connection configuration, bypassing format's disable decisions without updating its internal flag.
As a result, precise_checkpoint=0 does not disable precise checkpoints in the normal DisAgg test path. Format can believe they are disabled while WiredTiger has them enabled, so its initialization and runtime behavior do not match the connection's actual mode.
It is also unclear whether disabling precise checkpoints is valid for DisAgg. The test helper forces them on, but format still has policies that turn them off. We should establish the intended requirement rather than silently maintaining contradictory settings.
Desired outcome
- Clarify whether DisAgg requires precise checkpoints. If required, handle explicit disable requests and incompatible configurations consistently; otherwise, honor explicit disable requests.
- Unify configuration resolution so format's internal flag, connection settings, and runtime behavior agree during creation and reopen.
- Document the precedence of user requests and compatibility policies, and add regression coverage for the agreed behavior.
Failure that exposed the issue
format-failure-configs-test failed on Amazon2023 ARM64 and Ubuntu2004 at b013d1d844 because precise-checkpoint timestamp initialization was skipped while the connection had precise checkpoints enabled:
https://spruce.corp.mongodb.com/version/wiredtiger_b013d1d844aae30be24aa1f19cc765d5b57c16dd/tasks
Detailed consequences, reproduction steps, and validation results are provided in a separate comment.
- is related to
-
WT-18885 Victim cache serves empty skip-write images, tripping the empty-page assertion in __random_leaf_disk
-
- Closed
-
-
WT-16228 Revisit increased cache size for disagg (Post WT-16134)
-
- Open
-
-
WT-16275 Cache stuck, __evict_get_ref failed: WT_NOTFOUND: item not found
-
- Closed
-
- related to
-
WT-19047 Restore pre-cursor-copy startup behavior in CONFIG.disagg.WT-18885
-
- In Code Review
-