Versions Compared

Key

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

...

  1. Do we need to heartbeat between revocation and assignment? YES, I think so.
  2. Do we want to split up ASSIGNING into separate states REVOKING and ASSIGNING?

TERMINATING

TBD

TERMINATED

TBD

Partition Reconciliation


PlantUML Render Macro
border1
exportNamepartition-reconciliation-11.txt
titlePartition Reconciliation
hspace0

@startuml
hide unlinked

participant  "ProtoAsyncConsumer"           as PAC
participant  "Heartbeat\nRequest\nManager"  as HRM
participant  "Member\nState"                as MS
participant  "Assignment\nReconciler"       as AR
participant  "Revoke\nPartitions\nEvent"    as RPE
queue        "Backend\nEvent\nQueue"        as BEQ

skinparam maxMessageSize 70

HRM -> MS: heartbeat received
activate MS

MS -> AR: delegate assignment reconciliation (if needed)    
activate AR

AR  -> AR: determine partions to revoke
AR  -> AR: get state
create RPE
AR  -> RPE : new
AR  -> BEQ : Enqueue event for application thread
AR -> MS : 
deactivate AR
MS -> HRM :
deactivate MS

@enduml