Prevent false positives from ReshardingCoordinatorService's allParticipantsGTE()

XMLWordPrintableJSON

    • Fully Compatible
    • ALL
    • Sharding 2020-12-14
    • 1
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      In the ReshardingCoordinatorObserver, allParticipantsInStateGTE expects that if one state is greater than the expected state, all Participants must be. This is not the case.

      eg)
      . 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. 

            Assignee:
            Haley Connelly
            Reporter:
            Haley Connelly
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: