Versions Compared

Key

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

...

In this example unfortunately, we triggered two rebalances, because C is too late to catch first round expansion timeout. When C finally joins, it triggers the counter of expansion timeout. After 5 min, another rebalance kicks in and assign new tasks to C. 

Fault-tolerance of static membership

To make sure we could recover from broker failure/leader transition, an in-memory member name map is not enough. We will init another topic called `static_member_map` in the cluster and each time we have a stable state we should write the complete mapping information as a single message into it.

This way when another broker takes over the leadership, we could transfer the mapping together.

Switch between static and dynamic membership

...