Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If the recipient of SuspectMembersMessage is not the coordinator, it checks to see if it should become the coordinator and initiate a final check. For a recipient to become the coordinator, it first depends on a few settings: whether network partition detection is enabled, or whether security is enabled, or whether gemfire.disable-floating-coordinator is set(See ServiceConfig.areLocatorsPreferredAsCoordinators for more details). If either one of these is set, and the current coordinator is a suspect member, and any member to the left of the recipient in current view is a suspect member, the recipient will become the coordinator.

If the recipient is  If it is not the coordinator and should not become the coordinator, it records the SuspectRequest for subsequent use, which helps determine whether the recipient should become the coordinator in the future.

 

PlantUML
title This diagram shows a member (M) notifies non-coordinator member (NC) of Suspect Member (S)
hide footbox
entity M
entity S
entity NC
M -> S : HeartbeatRequestMessage(requestID)
note right : via UDP
note right of M
no response from S
after timeout
end note
M -> NC : SuspectMembersMessage
note right : via UDP
note right of NC
not a coordinator and
should not become a coordinator
record SuspectRequests
end note
 

...