Hi, These days I have been focus on Kafka 0.8 replication design and found three replication design proposals from the wiki (according to the document, the V3 version is used in Kafka 0.8 release). But the v3 proposal is not complete and is inconsistent with the release. Is there a complete Kafka 0.8 replication design document?
Here are part of my questions about Kafka 0.8 replication design. #1 According to V3, /brokers/topics/[topic]/[partition_id]/leaderAndISR stores leader and ISR of a partition. However in 0.8.2 release there is not such a znode, instead, it use /brokers/topics/[topic]/partitions/[partition_id]/state to store the leader and ISR of a partition. #2 In /brokers/topics/[topic], we can get all the ISR for all partitions in a certain topic, why we need /brokers/topics/[topic]/partitions/[partition_id]/state ? #3 I didn't find /admin/partitions_add/[topic]/[partition_id] and /admin/partitions_remove/[topic]/[partition_id] during my adding and removing partitions with bin/kafka-topics.sh. Is this deprecated in the 0.8 release? #4 I found these two znode under /admin only will be automaticall removed after the action complete. /admin/reassign_partitions/, /admin/preferred_replica_election/. But why this znode (/admin/delete_topic/) will not be removed automatically? #5 What's the LeaderAndISRCommand in Senario A in V3? Is that same with LeaderAndISRRequest? #6 For Senario D, when a certain broker becomes Controller, it will send a LeaderAndISRRequest to brokers with a special flag INIT. For Senario C, when the broker receive LeaderAndISRRequest with INIT flag, it will delete all local partitions not in set_p. Why we need to delete all local partitions for Controller changing? #7 For Senario E. Broker startup. The first step is read the replica assignment. Doesn't it need to add its id to /brokers/ids first? #8 Senario H. Add/remove partitions to an existing topic. In my test, I didn't found such znode for PartitionRemove Path/PartitionAdd Path in Zookeeper. Is this approach for partition adding/deleting deprecated? In fact, I didn't observe any znode change during my adding/deleting partitions. So what's the process of Kafka partition adding/deleting? #9 Senario G. seems not consistent with the release one Regards, Jason