Closed eyesoftime closed 7 years ago
Apologize for this. A few users have reported similar problems. We are working on clean shutdown mechanics for the KCL. But don't have a release date yet.
Just curious if there's an ETA on this one yet? thanks!
+1
+1
@gharikum - Any movement here? I see no new KCL development for about 5 months now.
Thanks for reporting this. It does appear this affects many customers, and I'll be investigating adding a shutdown hook that should help this. It won't fix cases where the JVM doesn't get a chance to shutdown normally e.g. kill -9.
We could really use this. Any update?
It looks like this was fixed here, no? https://github.com/awslabs/amazon-kinesis-client/commit/5a8bac23c613a307f22611c2f1a289347e893067
Should this issue be closed?
Thanks for catching this, I'll close it now.
For posterity: This was fixed in #174 with the addition of graceful shutdown for MultiLang Daemon clients.
Let us know if you run into any problems.
When i stop application using ctrl+c,shutdown requested method of I shutdown Aware doesn't get called
This change only affected the multilang daemon clients, and not the general Java KCL. If you're using Java you can install the shutdown hook yourself. I don't want to install it for customers using Java, as it could cause unexpected behavior.
Does the shutdownRequested work for Java KCL as well now?
Hey, I am working with the multilang daemon in php. I try to terminate the java process with SIGINT but get a timeout exception whenever the shutdown happens. Can I get some help with this? Here are the logs:
2024-08-12 18:06:09,299 [Thread-1] INFO s.a.k.multilang.MultiLangDaemon [NONE] - Process terminated, will initiate shutdown.
2024-08-12 18:06:09,312 [Thread-1] ERROR s.a.k.multilang.MultiLangDaemon [NONE] - Encountered an error during shutdown.
java.util.concurrent.TimeoutException: null
at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1892)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2027)
at software.amazon.kinesis.multilang.MultiLangDaemon.lambda$setupShutdownHook$0(MultiLangDaemon.java:183)
at java.base/java.lang.Thread.run(Thread.java:829)
Thanks!
When running the daemon (from command-line for example), upon terminating the process (Ctrl+C or SIGTERM) it exits and doesn't call shutdown() on child processes. It doesn't allow child processes to terminate cleanly by checkpointing their state. Is this intentional or something that's just not been implemented (yet)?