diff --git a/core/src/main/scala/kafka/utils/ShutdownableThread.scala b/core/src/main/scala/kafka/utils/ShutdownableThread.scala index 59ebc54..fd3ca6c 100644 --- a/core/src/main/scala/kafka/utils/ShutdownableThread.scala +++ b/core/src/main/scala/kafka/utils/ShutdownableThread.scala @@ -25,6 +25,12 @@ import org.apache.kafka.common.internals.FatalExitError abstract class ShutdownableThread(val name: String, val isInterruptible: Boolean = true) extends Thread(name) with Logging { this.setDaemon(false) + Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { + override def uncaughtException(thread: Thread, exception: Throwable) { + error("Stopped due to " + exception.getMessage) + Exit.exit(-2) + } + }) this.logIdent = "[" + name + "]: " val isRunning: AtomicBoolean = new AtomicBoolean(true) private val shutdownLatch = new CountDownLatch(1)