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

Cursor contains txnNumber when created from a retryable write (BulkWrite)

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical - P2 Critical - P2
    • 8.1.0-rc0, 8.0.0-rc2
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • ALL
    • v8.0
    • Repl 2024-04-15
    • 200

      Drivers discovered in testing for PM-1452 that a cursor created by a retryable bulkWrite will not be able to be getMore'd. This is because the cursor grabs the txnNumber off of the opCtx when it is created, assuming that the getMore always comes from a transaction since before bulkWrite this was the case.

      When a cursor is created like this you cannot run getMore without a txnNumber, and if you run it with one it will fail due to not being a retryable command, so the cursor information is lost.

      Since cursors can now be created from a retryable write we need to fix this behavior.

            Assignee:
            sean.zimmerman@mongodb.com Sean Zimmerman
            Reporter:
            sean.zimmerman@mongodb.com Sean Zimmerman
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: