Write Performance Faster Checkpoint - Preflush pages for checkpoint

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

      With WiredTiger returning to point-in-time checkpoints, it is possible for a checkpoint to know exactly the require point-in-time before it starts. We could do a pass over all content in cache after choosing a checkpoint time, but before starting the actual checkpoint and pre-reconcile all (or all leaf) pages.

      If that pre-flush phase is adequate, then the checkpoint itself should only need to write the root pages (or some other similarly small set of pages).

      There is some design involved in implementing this ticket. We need to be careful in changing the checkpoint walk logic - there are subtle correctness requirements about the order of flushing leaf and internal pages which mean it is unlikely that this optimization could simply write root pages for changed trees. It would be appealing if we could figure out how to just walk in-memory pages and check to ensure their reconciliations satisfy the checkpoint requirements.

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

              Created:
              Updated: