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

Sessions with transaction history may become unusable if the oplog rolls over

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 3.6.0-rc0
    • Fix Version/s: 3.6.0-rc2
    • Component/s: Sharding
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Sprint:
      Sharding 2017-11-13

      Description

      Sessions, which have ever had retryable write operations run on them (i.e. operations with txnNumber/stmtId) require the complete transaction oplog chain for the most-recently executed transaction to be available so that the executed statements can be loaded and cached.

      If the oplog rolls over and part of that transaction's chain is lost for such a session AND the session gets dropped from the cache for any reason (be it step-down, restart, direct write to config.transactions, etc), from that point onward that session will become unusable and all operations using it will start failing with error code IncompleteTransactionHistory (217), regardless of whether they contain retryable writes or not.

      NOTE: The problem will go away once the session gets cleaned up as idle.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: