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

Add the "Internal Transactions" section to the sharding architecture guide

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Sharding NYC 2022-05-16, Sharding NYC 2022-05-30, Sharding NYC 2022-06-13, Sharding 2022-06-27, Sharding 2022-07-11

      The section should cover the following:

      • Non-retryable internal transactions
      • Retryable internal transactions
        • How retryablity works
          • The “stmtId”, “preImageOpTime”, “postImageOpTime”, “needsRetryImage” fields in the inner oplog entries inside each applyOps oplog entry.
          • How each retryable write statement generates only one operation entry with its stmtId; any other operation entries have stmtId=-1.
          • How each internal session can only have one retryable findAndModify. 
            refreshFromStorageIfNeeded() and RetryableTransactionParticipantCatalog.
          • How concurrent retries are prevented (i.e. RetryableTransactionInProgress).
        • Session migration during chunk migration and resharding
          • Retryability contract.
          • How retryable internal transaction oplog entries are converted to retryable write oplog entries.

            Assignee:
            jason.zhang@mongodb.com Jason Zhang
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: