[
https://issues.apache.org/jira/browse/KAFKA-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956273#comment-14956273
]
Onur Karaman commented on KAFKA-2017:
-------------------------------------
Hey everyone. So yeah there are some nice benefits to persisting to kafka
(maybe write group changes to a __group_states topic or something to that
effect):
1. you can reduce zk load - especially writes.
2. I think it's conceptually cleaner to have consumer state and broker state
cleanly separated: consumer state like offsets and groups in one or several
kafka topics; broker state in zookeeper.
3. It is possible to merge offset information with this group state into one
new topic (we can get rid of the __consumer_offsets topic) so you'd be able to
see a complete history of a group including its commits and group membership
changes. Admittedly, this kind of group history can be achieved to a small
extent in the coordinator's log4j logs. Also it's unclear what the right
cleanup policy would be. Compaction would eventually only keep the latest
state, while regular deletion would get rid of some latest but old group
history.
> 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.0
> Reporter: Onur Karaman
> Assignee: Guozhang Wang
> Fix For: 0.9.0.0
>
> Attachments: KAFKA-2017.patch, KAFKA-2017_2015-05-20_09:13:39.patch,
> KAFKA-2017_2015-05-21_19:02:47.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)