[ 
https://issues.apache.org/jira/browse/KAFKA-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14552582#comment-14552582
 ] 

Guozhang Wang edited comment on KAFKA-2017 at 5/20/15 4:18 PM:
---------------------------------------------------------------

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.

Pinging [~onurkaraman], [~junrao] for reviews.


was (Author: guozhang):
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)

Reply via email to