Versions Compared

Key

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

...

PlantUML Render Macro
formatPNG

@startuml
hide empty description

[*] --> NOT_IN_GROUP
NOT_IN_GROUP ---> UNJOINED : Consumer.subscribe()

UNJOINED ---> UNJOINED : Heartbeat on retries
UNJOINED ---> STABLE : Heartbeat, epoch = 0
UNJOINED ---> FATAL

STABLE ---> RECONCILING : new assignment received\ntrigger callbacks
STABLE ---> RECONCILING : Consumer.unsubscribe()
STABLE ---> RELEASING_ASSIGNMENT : on HB fencing error, reset epoch,\ntrigger callbacks
STABLE ---> FATAL
STABLE ---> STABLE : Heartbeat

RECONCILING ---> RECONCILING : Heartbeat
RECONCILING ---> RECONCILIATION_COMPLETE : callback completed
RECONCILIATION_COMPLETE ---> STABLE : Send heartbeat w/ full assignment,\nreset interval timer to\nheartbeat.interval.ms
RECONCILIATION_COMPLETE ---> STABLE : Send heartbeat w/ full assignment,\nreset interval timer to\nheartbeat.interval.ms
RECONCILIATION_COMPLETE ---> UNJOINED : unsubscribe()

RELEASING_ASSIGNMENT ---> RELEASING_ASSIGNMENT_COMPLETE : 'onLost' callback completed
RELEASING_ASSIGNMENT_COMPLETE ---> UNJOINED : Send out-of-interval HB
RELEASING_ASSIGNMENT ---> FATAL

FATAL ---> [*]

@enduml


PlantUML Render Macro
formatPNG

@startuml
hide empty description

[*] ---> UNSUBSCRIBE

UNSUBSCRIBE ---> JOINING

JOINING ---> STABLE
JOINING ---> RECONCILE_ASSIGNMENT
JOINING ---> LEAVING
JOINING ---> FENCED
JOINING ---> FATAL

STABLE ---> RECONCILE_ASSIGNMENT
STABLE ---> LEAVING
STABLE ---> FENCED
STABLE ---> FATAL

RECONCILE_ASSIGNMENT ---> ACK_ASSIGNMENT
RECONCILE_ASSIGNMENT ---> LEAVING
RECONCILE_ASSIGNMENT ---> FENCED
RECONCILE_ASSIGNMENT ---> FATAL

ACK_ASSIGNMENT ---> STABLE
ACK_ASSIGNMENT ---> LEAVING
ACK_ASSIGNMENT ---> FENCED
ACK_ASSIGNMENT ---> FATAL

FENCED ---> JOINING

LEAVING --->  UNSUBSCRIBE

FATAL ---> [*]

@enduml