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:
[email protected]