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

Use local write concern when acquiring and releasing resumable critical section in resharding recipient

    • Fully Compatible
    • v5.0
    • Sharding 2021-05-31
    • 1

      The changes from 70d2f7f as part of SERVER-53653 use ShardingCatalogClient::kMajorityWriteConcern in a couple places:

      1. As part of releasing the critical section on abort.
      2. As part of acquiring the critical section before transition to kStrictConsistency.

      After the changes from SERVER-55511, it'll be possible to rely on the recovery process in the RecipientStateMachine to correctly reacquire the critical section if the local write hadn't become majority-committed following the failover. The ShardingCatalogClient::kMajorityWriteConcern can then safely be changed to ShardingCatalogClient::kLocalWriteConcern.

      Note that we can consolidate releasing the critical section in RecipientStateMachine::_finishReshardingOperation() similar to what is being done in DonorStateMachine::_finishReshardingOperation().

            randolph@mongodb.com Randolph Tan
            max.hirschhorn@mongodb.com Max Hirschhorn
            0 Vote for this issue
            1 Start watching this issue