Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-6391

Improve set_timestamp API to ensure consistent stable and oldest usage.

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: None
    • Labels:
      None
    • Story Points:
      8

      Description

      The stable and oldest timestamps are set by applications and are used internally to manage the behavior of WiredTiger.

      We have some knowledge about how MongoDB is using those timestamps, and assumptions built into the WiredTiger code about those usages. We've encountered issues in the past with that approach for two reasons:

      • Usage changes over time, so those assumptions can become wrong.
      • When we write standalone testing applications, they don't necessarily comply with the assumptions.

      We should make it so that the stable and oldest timestamps need to both be set when using timestamps in WiredTiger, and enforce that in the API.

      There is a bootstrapping problem that makes that harder than it sounds. Applications want to be able to set oldest and stable independently, and in whichever order is convenient on startup. We should figure out how to allow that. Perhaps adding checks in when the first user-driven checkpoint is completed? That's not as helpful as doing the checking in the API, but may be the best choice we have.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-storage-engines Backlog - Storage Engines Team
              Reporter:
              alexander.gorrod Alexander Gorrod
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: