You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by gu...@apache.org on 2015/08/28 05:43:33 UTC

kafka git commit: KAFKA-2468: SIGINT during Kafka server startup can leave server deadlocked

Repository: kafka
Updated Branches:
  refs/heads/trunk 2fa8c7485 -> 8956004a5


KAFKA-2468: SIGINT during Kafka server startup can leave server deadlocked

As we handle exceptions or invalid states in Kafka server by shutting it down, there is no reason to use exit() and not halt() in shutdown itself.

Author: asingh <as...@cloudera.com>

Reviewers: Ewen Cheslack-Postava, Guozhang Wang

Closes #167 from SinghAsDev/KAFKA-2468


Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/8956004a
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/8956004a
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/8956004a

Branch: refs/heads/trunk
Commit: 8956004a51a67c028f8acc73e82f4d1a3e4116c7
Parents: 2fa8c74
Author: Ashish Singh <as...@cloudera.com>
Authored: Thu Aug 27 20:45:42 2015 -0700
Committer: Guozhang Wang <wa...@gmail.com>
Committed: Thu Aug 27 20:45:42 2015 -0700

----------------------------------------------------------------------
 core/src/main/scala/kafka/server/KafkaServerStartable.scala | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/8956004a/core/src/main/scala/kafka/server/KafkaServerStartable.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/server/KafkaServerStartable.scala b/core/src/main/scala/kafka/server/KafkaServerStartable.scala
index 0001331..df521b3 100644
--- a/core/src/main/scala/kafka/server/KafkaServerStartable.scala
+++ b/core/src/main/scala/kafka/server/KafkaServerStartable.scala
@@ -17,7 +17,6 @@
 
 package kafka.server
 
-import kafka.common.AppInfo
 import kafka.utils.Logging
 
 
@@ -43,7 +42,8 @@ class KafkaServerStartable(val serverConfig: KafkaConfig) extends Logging {
     catch {
       case e: Throwable =>
         fatal("Fatal error during KafkaServerStable shutdown. Prepare to halt", e)
-        System.exit(1)
+        // Calling exit() can lead to deadlock as exit() can be called multiple times. Force exit.
+        Runtime.getRuntime.halt(1)
     }
   }