ShardsvrReshard[Donor|Recipient]Initialize can return success without majority-committing the state document

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • ALL
    • ClusterScalability 22Jun-6Jul
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Under featureFlagReshardingInitNoRefresh, participant initialization is done via commands. These commands may return early if the participant's state machine is already in memory without ensuring that the state document is majority committed.

      If the state document is not majority committed, there is a risk that the participant will fail to recognize its role in the resharding process, potentially leading to a stalled operation.

       

      Ensure that the state document is majority committed. Either by an explicit wait or by setting the following at the end of the command to leverage the command's majority wc:

      repl::ReplClientInfo::forClient(opCtx->getClient()).setLastOpToSystemLastOpTime(opCtx)

            Assignee:
            Abdul Qadeer
            Reporter:
            Kruti Shah
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: