ableegoldman commented on a change in pull request #10387:
URL: https://github.com/apache/kafka/pull/10387#discussion_r600044638



##########
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:
       WDYT about just checking for the case of a global-only topology before 
the `switch` statement, and just automatically invoking `closeToError()` with a 
warning that the other options are not supported in this case? We should also 
file an improvement ticket for the "restart the global thread" feature, if we 
don't already have one 




-- 
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


Reply via email to