GitHub user becketqin opened a pull request: https://github.com/apache/kafka/pull/1149
KAFKA-3436: Speed up controlled shutdown. This patch does the followings: 1. Batched LeaderAndIsrRequest and UpdateMetadataRequest during controlled shutdown. 2. Added async read and write method to an extending ZkClient. Used the async zk operation for LeaderAndIsr read and update. The async method can be used in other places as well (e.g. preferred leader election, replica reassignment, controller bootstrap, etc), but those are out of the scope of this ticket. Conducted some rolling boucne test, a controlled shutdown involving 2500 partitions takes around 3 seconds now. Previously it can takes more than 30 seconds. You can merge this pull request into a Git repository by running: $ git pull https://github.com/becketqin/kafka KAFKA-3436 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1149.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1149 ---- commit c2d22821c6c3ad7aa45090def6b984719209f5af Author: Jiangjie Qin <becket....@gmail.com> Date: 2016-03-27T21:29:30Z KAFKA-3436: Speed up controlled shutdown commit 7e7cf3fb1fc4a44d7af4ea935b38bf2e90e6cadd Author: Jiangjie Qin <becket....@gmail.com> Date: 2016-03-28T00:47:22Z Remove pre-sent StopReplicaRequests and split state transition into multiple groups. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---