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

Modify operations should be equivalent to updates

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT3.2.1, 4.1.12, 4.0.11, 3.6.14
    • Component/s: None
    • Labels:
      None

      Description

      While testing SERVER-41016, which converts updates into modifications, some test failures were found and investigated.

      The problem is that while MongoDB performs operations at snapshot isolation (so each successful update is guaranteed to read the immediately previous version), it does not always assign timestamps in order. In particular, metadata updates to the _mdb_catalog table are sometimes assigned synthetic timestamps for operations without entries in the oplog. Some of these updates satisfy the conditions for conversion to modifications (the underlying document is larger than 1KB and the changes are less than 10% of the document size).

      In this situation, when applying the modifications, WiredTiger should use apply all previous modifications until it finds a complete copy of the document. Once a modify is identified as the most recent visible version for a value WT should not apply normal visibility rules to the prior versions – they were visible when the modify was performed, so should be included in the read.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                michael.cahill Michael Cahill
                Reporter:
                michael.cahill Michael Cahill
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: