-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Checkpoints
-
None
-
Storage Engines - Transactions
-
187.534
-
None
-
None
In __ disagg_pick_up_checkpoint checks that the new checkpoint's oldest timestamp is older than the systems current pinned timestamp. But this check always passes because it happens before the code parses the new checkpoint's oldest timestamp.
The sequence of relevant operations in that function:
- We zero the metadata structure.
- We check whether metadata.oldest_timestamp > pinned_timestamp, and if it is we panic. But metadata.oldest_timestamp will be zero here, and this check will always pass.
- Later, we parse the checkpoint's metadata into metadata.
It looks like we should be able to fix this by moving the metadata parse ahead of the pinned timestamp check.
- duplicates
-
WT-17968 Disaggregated storage checkpoint pick-up pinned-timestamp panic check reads unpopulated metadata (dead code)
-
- Blocked
-