[ https://issues.apache.org/jira/browse/KAFKA-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14515097#comment-14515097 ]
Jun Rao commented on KAFKA-2139: -------------------------------- [~gwenshap], when starting up a broker, the broker registers itself to ZK in the last step. Before a broker is registered in ZK, it won't be part of the cluster and there won't be any request routed to it. > Add a separate controller messge queue with higher priority on broker side > --------------------------------------------------------------------------- > > Key: KAFKA-2139 > URL: https://issues.apache.org/jira/browse/KAFKA-2139 > Project: Kafka > Issue Type: Improvement > Reporter: Jiangjie Qin > Assignee: Jiangjie Qin > > This ticket is supposed to be working together with KAFKA-2029. > There are two issues with current controller to broker messages. > 1. On the controller side the message are sent without synchronization. > 2. On broker side the controller messages share the same queue as client > messages. > The problem here is that brokers process the controller messages for the same > partition at different times and the variation could be big. This causes > unnecessary data loss and prolong the preferred leader election / controlled > shutdown/ partition reassignment, etc. > KAFKA-2029 was trying to add a boundary between messages for different > partitions. For example, before leader migration for previous partition > finishes, the leader migration for next partition won't begin. > This ticket is trying to let broker process controller messages faster. So > the idea is have separate queue to hold controller messages, if there are > controller messages, KafkaApi thread will first take care of those messages, > otherwise it will proceed messages from clients. > Those two tickets are not ultimate solution to current controller problems, > but just mitigate them with minor code changes. Moving forward, we still need > to think about rewriting controller in a cleaner way. -- This message was sent by Atlassian JIRA (v6.3.4#6332)