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



##########
File path: 
streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamThread.java
##########
@@ -612,11 +612,22 @@ public void setStreamsUncaughtExceptionHandler(final 
java.util.function.Consumer
 
     public void waitOnThreadState(final StreamThread.State targetState) {
         synchronized (stateLock) {
-            while (state != targetState) {
-                try {
-                    stateLock.wait();
-                } catch (final InterruptedException e) {
-                    // it is ok: just move on to the next iteration
+            boolean interrupted = false;
+            try {
+                while (state != targetState) {
+                    try {
+                        stateLock.wait();

Review comment:
       That's right, I don't think force quit uses the interrupt path. But 
anyways I don't think it's possible to force quit a Kafka Streams application 
until we get around to making it a desktop application. I was just trying to 
draw a parallel -- my concern here is just that there is absolutely no way to 
recover should a StreamThread hang during shutdown, meaning you will just need 
to kill the process and do an unclean shutdown. With ALOS it's maybe not so 
bad, but with EOS an unclean shutdown requires wiping out all state stores and 
completely restoring them from scratch. So there is absolutely something to 
lose besides just the annoyance of having to manually kill the Streams process.
   
   I just got a notification from a report of Streams being stuck during 
shutdown in an EOS application, so I promise I'm not making this up 🙂 . I can 
point you to it if you'd like -- unfortunately we never even managed to 
determine the root cause, so there may be more bugs out there which cause this 
besides just the ones we currently know




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