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

[RRFaM] Have delete path write to config.transactions

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0.25, 4.2.15, 4.4.7, 5.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • v4.4, v4.2, v4.0
    • Repl 2021-05-17

      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.

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

              Created:
              Updated:
              Resolved: