Kafka compatible with Zookeeper 3.5 feature ‘Rebalancing Client Connections’

kafkazookeeper

In this document https://zookeeper.apache.org/doc/trunk/zookeeperReconfig.html dynamic configuration functionality is described for Zookeeper 3.5.

There are 2 important points in this document:

  1. When changing the dynamic config of one Zookeeper instance, all Zookeeper instances in the ensemble automatically get their configs updated.
  2. Clients of the Zookeeper ensemble can rebalance their connections when the dynamic config gets updated, provided they subscribe to /zookeeper/config in Zookeeper, or alternatively call getConfig, and update their own list of Zookeeper servers by calling updateServerList

This all seems really promising, because at the moment (Kafka 2.12 and Zookeeper 3.4.9), both Zookeeper and Kafka configurations are static, and when a Zookeeper node needs to get replaced, config changes need to be made on each Zookeeper instance in the ensemble and on each Kafka broker, and all participants need to be restarted to reload configs.

My question is, provided that you go with Zookeeper 3.5 and it's new dynamic reconfiguration, is there a Kafka version that is compatible with this, which will update it's own zookeeper.connect configuration when the Zookeeper ensemble gets reconfigured?

Best Answer

Kafka 2.0 updates zk to 3.4.12 https://issues.apache.org/jira/browse/KAFKA-6390.

And that has been released quite recently. So I guess that we have to wait just a bit more?