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