Preserve the stable schema epoch in the checkpoint metadata

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines
    • None
    • None

      We should preserve the value of stable_disaggregated_schema_epoch in the checkpoint metadata, so that we can have this information available in for debugging, for consistency checks in the future (e.g., that schema updates through oplog application are ahead of checkpoint pick up), and to implement checkpoint pick-up.

      Specifically:

      • Include the value of stable_disaggregated_schema_epoch in the metadata page constructed in __wt_disagg_put_checkpoint_meta. The key should be probably something like checkpoint_schema_epoch for consistency with the current page format and disagg naming.
      • Parse the value of checkpoint_schema_epoch in __disagg_parse_meta.
      • Add last_checkpoint_schema_epoch as a new field to WT_DISAGGREGATED_STORAGE (defined in connection.h).
      • When picking up a checkpoint, store the value in a new field last_checkpoint_schema_epoch in __disagg_update_checkpoint_meta.
      • Add last_disaggregated_checkpoint_schema_epoch query option to WT_CONNECTION::query_timestamp (that is, in __wt_txn_query_timestamp).
      • Add the appropriate tests.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: