Recipient States should change from
(2) kCreatingCollection // where we currently create the RecipientDocument
(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.
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.
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.