Resharding donors should only abort unprepared transactions upon transitioning to the "preparing-to-block-writes" when the FCV is 8.2+

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • ALL
    • ClusterScalability Jul7-Jul20
    • 0
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The abort error code is InterruptedDueToReshardingCriticalSection. It is a retriable error (SERVER-107226) so if the response would have the "RetryableWriteError" label if the command is commit/abortTransaction and "TransientTransactionError" label otherwise. The labels would cause the drivers or internal transaction API retry accordingly so the users shouldn't be impacted by the interrupt. However, since InterruptedDueToReshardingCriticalSection is new error code in 8.2, no labels would get appended if the mongos is in bin versions before that. For this reason,
      resharding donors should only abort unprepared transactions upon transitioning to the "preparing-to-block-writes" when the FCV is 8.2+.

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

                Created:
                Updated:
                Resolved: