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

Create new resharding recipient state kAwaitingFetchTimestamp

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Sharding 2021-02-22, Sharding 2021-03-08
    • Story Points:
      1

      Description

      Recipient States should change from 
      (1) kUnused

      (2) kCreatingCollection // where we currently create the RecipientDocument

      to 

      (1) kUnused

      (2) kAwaitingFetchTimestamp // new place where we create the recipient document, transitions into this state once the coordinator enters CoordinatorStateEnum::kPreparingToDonate
      (3) kCreatingCollection // waits for the coordinator to be in CoordinatorStateEnum::kCloning, same as before, before changing into this state.

       

      goal:

      The coordinator must wait for for all donor and recipient state documents to be inserted before it transitions to kDecisionPersisted with an abortReason.

      This means that the flush for CoordinatorStateEnum::kPreparingToDonate must wait for all the participants to majority commit the insertion of the the Donor/Recipient documents.

      Motivation:

      Currently, it is possible for resharding to fail before recipients have created their ReshardingRecipientService machines. This complicates the logic when the coordinator wants to make sure all participants have aborted the operation before completing.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              max.hirschhorn Max Hirschhorn
              Reporter:
              haley.connelly Haley Connelly
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: