Versions Compared

Key

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

PlantUML
title This shows a member leaving and another member joining in the same view
entity M
entity C
entity P
M -> C : LeaveRequest
C -> M : LeaveResponse
note right of C : LeaveRequest is queued
M -> M : done
P -> C : JoinRequest
note right of C
JoinRequest is queued.
View Creator wakes up and
creates view {C,P} removing M
end note
C -> P : Prepare {C,P}
P -> C : ack
C -> P : Install {C,P}
P -> C : ack
note right of P: P processes view and completes Join

PlantUML
title This diagram shows two Locators starting up at the same time with no other members present.

entity L1
entity L2
L1 -> L2 : FindCoordinator
note right of L1: via tcp/ip

L2 -> L1 : FindCoordinatorResponse(registrants={L2,L1})
note right of L2
both members get {L1,L2} registrants and choose
L1 as coordinator due to ID sort order
end note
L2 -> L1 : FindCoordinator
L1 -> L2 : FindCoordinatorResponse(registrants={L1,L2})
note right of L2 : subsequent messaging is via UDP

L2 -> L1 : JoinRequest
L1 -> L1 : becomeCoordinator
note right of L1 : L1 ViewCreator thread processes request

L1 -> L2 : PrepareView(L1,L2)
L2 -> L1 : ack
L1 -> L2 : InstallView(L1,L2)
L2 -> L1 : ack
note right of L1 : L1 and L2 continue startup