In the ReshardingCoordinatorObserver, allParticipantsInStateGTE expects that if one state is greater than the expected state, all Participants must be. This is not the case.
. If recipient0 hangs before durably reporting to the coordinator document that it has transitioned to RecipientStateEnum::kApplying
. recipient1 successfully transitions to RecipientStateEnum::kSteadyState
. THEN it is possible for the observer to see participant0 in state 0, and participant1 in state 4. In this case, the method would falsely return true instead of false.
Please also add a test case for this scenario.