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

Improve the way we update the stable timestamp in the cpp suite

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • 5
    • StorEng - Refinement Pipeline

      Summary
      We want to manage better the way we update the stable ts in the cpp suite. Currently we update the stable ts periodically and maintain a lag with the latest generated ts. However, we don't take into consideration what is happening in the system, i. running transactions. This means we could update the stable ts to a date that is beyond the commit ts one of those running transactions.

      Motivation

      • Does this affect any team outside of WT?
        No
      • How likely is it that this use case or problem will occur?
        It is an improvement, no issues so far. But we had issues in the past, see WT-9115 where a transaction would have a commit ts that is more recent that the stable ts.
      • If the problem does occur, what are the consequences and how severe are they?
        In WT-9115, we were trying to commit a transaction that had an invalid commit ts.
      • Is this issue urgent?
        No

      Acceptance Criteria (Definition of Done)
      Find a way to update the stable ts so it does not get beyond the commit ts of a running transaction.

      Suggested Solution
      One solution would be to do something similar to what test/format does: it checks each running transaction and their commit ts, selects the min and sets the stable ts to a lower value than the min.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            etienne.petrel@mongodb.com Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: