From f09877de4b9a86f11de5a8fcef5443f9a742ded0 Mon Sep 17 00:00:00 2001 From: Sriharsha Chintalapani Date: Thu, 9 Oct 2014 19:02:08 -0700 Subject: [PATCH] KAFKA-1699. autoRebalanceScheduler.shutdown() causes deadlock while controller shutting down. --- core/src/main/scala/kafka/controller/KafkaController.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/scala/kafka/controller/KafkaController.scala b/core/src/main/scala/kafka/controller/KafkaController.scala index 381c52f..51a5bad 100644 --- a/core/src/main/scala/kafka/controller/KafkaController.scala +++ b/core/src/main/scala/kafka/controller/KafkaController.scala @@ -345,12 +345,13 @@ class KafkaController(val config : KafkaConfig, zkClient: ZkClient, val brokerSt if (deleteTopicManager != null) deleteTopicManager.shutdown() + // shutdown leader rebalance scheduler + if (config.autoLeaderRebalanceEnable) + autoRebalanceScheduler.shutdown() + inLock(controllerContext.controllerLock) { // de-register partition ISR listener for on-going partition reassignment task deregisterReassignedPartitionsIsrChangeListeners() - // shutdown leader rebalance scheduler - if (config.autoLeaderRebalanceEnable) - autoRebalanceScheduler.shutdown() // shutdown partition state machine partitionStateMachine.shutdown() // shutdown replica state machine -- 1.8.5.2 (Apple Git-48)