[ https://issues.apache.org/jira/browse/KAFKA-3042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15618260#comment-15618260 ]
Martin Nowak commented on KAFKA-3042: ------------------------------------- Out of curiosity, why does the controller data also use an epoch, instead of relying on ZooKeeper's data version and conditional updates of that? While I understand the benefit of using epochs for partitions to reduce ZK load [¹], moving the concurrency handling of the single /controller znode into Kafka seems overly complex for no benefit. [¹]: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+replication+detailed+design+V2 > updateIsr should stop after failed several times due to zkVersion issue > ----------------------------------------------------------------------- > > Key: KAFKA-3042 > URL: https://issues.apache.org/jira/browse/KAFKA-3042 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8.2.1 > Environment: jdk 1.7 > centos 6.4 > Reporter: Jiahongchao > Fix For: 0.10.2.0 > > Attachments: controller.log, server.log.2016-03-23-01, > state-change.log > > > sometimes one broker may repeatly log > "Cached zkVersion 54 not equal to that in zookeeper, skip updating ISR" > I think this is because the broker consider itself as the leader in fact it's > a follower. > So after several failed tries, it need to find out who is the leader -- This message was sent by Atlassian JIRA (v6.3.4#6332)