Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56375

[RRFaM] Have delete path write to config.transactions

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.0.25, 4.2.15, 4.4.7, 5.0.0-rc0
    • None
    • None
    • Fully Compatible
    • v4.4, v4.2, v4.0
    • Repl 2021-05-17

    Description

      When the RRFaM behavior is enabled:

      • A primary executing the delete can add a remove preImage to the SessionTxnRecord within the same WUOW.
      • A secondary applying the delete can also add the preImage to the SessionTxnRecord within the same WUOW.
        • Right now the deleteObjects return value does not provide the preImage. This ticket should expose that API.
        • However the config.transactions.update predicate must include the clause: `{txnNum: {$lt: <updated txnNum>`}}.
      • Remove noop oplog entry writes for FaM removes
      • Collections that always store preImages must continue to write pre-image noops for findAndModify's that remove a document.
        • These findAndModify's should not write the preImage to a config.transactions document
        • The current OpObserver::onDelete API cannot distinguish between an engaged deletedDoc due to a findAndModify versus the collection configuration (without attempting to read the collection catalog using the input collection UUID). One solution is to create a structure similar to the CollectionUpdateArgs
        • Changing the onDelete API may be necessary, which would allow us to correct SERVER-56518.

      Attachments

        Issue Links

          Activity

            People

              daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
              daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: