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

Jun Rao commented on KAFKA-2406:
--------------------------------

[~becket_qin], the ZK watcher is a one-time watcher. So, when a watcher is 
triggered, you have to do another read to register the watcher. There could be 
multiple changes in between, but only one more watcher will be triggered. 
However, the brokers may not be writing to ZK at exactly the same time. So, the 
more brokers you have, likely the more times the watcher will be fired. I think 
if we make the batch window configurable, one can adjust this value based on 
the cluster size if needed.

Writes are more expensive than reads in ZK. By batching, we can significantly 
reduce the number of ZK writes for isr changes. The controller still needs to 
read the changed isr from ZK for all affected partitions though. Hopefully 
there's not the main bottleneck.

> ISR propagation should be throttled to avoid overwhelming controller.
> ---------------------------------------------------------------------
>
>                 Key: KAFKA-2406
>                 URL: https://issues.apache.org/jira/browse/KAFKA-2406
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Jiangjie Qin
>            Assignee: Jiangjie Qin
>            Priority: Blocker
>
> This is a follow up patch for KAFKA-1367.
> We need to throttle the ISR propagation rate to avoid flooding in controller 
> to broker traffic. This might significantly increase time of controlled 
> shutdown or cluster startup.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to