[Retryability] Make retryable write statements executed with or without internal transactions retryable whether or not internal transactions are involved on retries

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 5.3.0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible
    • Sharding 2021-12-27, Sharding 2022-01-10, Sharding 2022-01-24
    • 5
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      • Make refreshFromStorageIfNeeded() load the latest transaction state for the client session and all internal sessions that may have executed RITs on behalf of the command that the TransactionParticipant is executing.
      • Dealing with when to set isValid on a TransactionParticipant.
      • Make checkStatementExecuted() do full history check. That is, regardless of whether a stmtId is being executed as a retryable write or in retryable internal transaction, check if the stmtId was executed either as a regular retryable write or in a previous retryable internal transaction.

              Assignee:
              Cheahuychou Mao
              Reporter:
              Cheahuychou Mao
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: