Versions Compared

Key

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

...

  1. Reads all child nodes in /brokers/ids/ to get current brokers with broker generation
  2. Detect new brokers, dead brokers and bounced brokers:
    • new brokers:  brokers exist in current brokers list and do not exist in controller context
    • dead brokers: brokers exist in controller context but do not exist in current brokers list
    • bounce brokers: brokers exist in both current brokers list and controller context but have higher generation than the cached value in controller context
  3. Update the broker info (broker id + broker generation) live broker ids in controller context
  4. Handle broker state change:
    • new brokers: update broker generation in controller context for new brokers, then invoke onBrokerStartUp(...new brokers)
    • dead brokers: invoke onBrokerFailure(...dead brokers)
    • bounced brokers: invoke onBrokerFailure(...bounced brokers) first, then update broker generation in controller context for bounced brokers, finally invoke onBrokerStartUp(...bounced brokers)


Compatibility, Deprecation, and Migration Plan

...