[ https://issues.apache.org/jira/browse/KAFKA-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14552582#comment-14552582 ]
Guozhang Wang commented on KAFKA-2017: -------------------------------------- This patch used the second ZK data structure proposed above to reduce #. ZK reads. 1. The consumer group registry path only contains the members list, not the assignment, which can always be calculated on-the-fly from the member registries. 2. The group registry will be updated every time when the prepare-rebalance phase has completed, and hence the new members has finalized; if the group has no members, it will be removed as well. 3. When a consumer group was first created, it is not immediately registered in ZK but only kept in coordinator's metadata cache; only when the new group has finished the first prepare-rebalance it will then be registered in ZK. 4. When a consumer group cannot be found in the metadata cache, the coordinator will always try to read it form ZK. > Persist Coordinator State for Coordinator Failover > -------------------------------------------------- > > Key: KAFKA-2017 > URL: https://issues.apache.org/jira/browse/KAFKA-2017 > Project: Kafka > Issue Type: Sub-task > Components: consumer > Affects Versions: 0.9.0 > Reporter: Onur Karaman > Assignee: Guozhang Wang > Attachments: KAFKA-2017.patch, KAFKA-2017_2015-05-20_09:13:39.patch > > > When a coordinator fails, the group membership protocol tries to failover to > a new coordinator without forcing all the consumers rejoin their groups. This > is possible if the coordinator persists its state so that the state can be > transferred during coordinator failover. This state consists of most of the > information in GroupRegistry and ConsumerRegistry. -- This message was sent by Atlassian JIRA (v6.3.4#6332)