ableegoldman commented on a change in pull request #10387: URL: https://github.com/apache/kafka/pull/10387#discussion_r600055319
########## File path: streams/src/main/java/org/apache/kafka/streams/KafkaStreams.java ########## @@ -492,22 +492,18 @@ private void handleStreamsUncaughtException(final Throwable throwable, closeToError(); break; case SHUTDOWN_APPLICATION: + if (getNumLiveStreamThreads() <= 1) { + log.warn("Adding thread to communicate the shutdown. No processing will be done on this thread"); + addStreamThread(); + } if (throwable instanceof Error) { log.error("This option requires running threads to shut down the application." + "but the uncaught exception was an Error, which means this runtime is no " + "longer in a well-defined state. Attempting to send the shutdown command anyway.", throwable); } - - if (Thread.currentThread().equals(globalStreamThread) && getNumLiveStreamThreads() == 0) { - log.error("Exception in global thread caused the application to attempt to shutdown." + Review comment: Well, who knows what the exception is -- could be some local disk error or corruption, or they're using a remote state store and god-knows-what happened. I agree that it's probably rare for a global-only app to hit an exception and fail to shut down the application, and not end up shutting down anyways due to hitting the same exception elsewhere. But anything's possible -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org