ricky2129 commented on issue #12949: URL: https://github.com/apache/seatunnel/issues/12949#issuecomment-6358962151
@nzw921rx yes, tested without Docker. I built the PR natively (`./mvnw install -pl seatunnel-dist -am`, Temurin 11, macOS, bash 3.2) and ran the dist scripts on the host: - foreground `bin/seatunnel-cluster.sh`: the script process becomes the JVM, a FakeSource→Console job runs 32/32, and SIGTERM to that PID exits 143 within 1s with the shutdown hook run; - `-d` daemon mode is unchanged; the job runs and `stop-seatunnel-cluster.sh` stops it; - on current dev, SIGTERM to the script kills only bash and leaves the JVM running, so systemd/supervisor setups are affected as well as containers. @SEZ9 summary: `seatunnel-cluster.sh` starts the JVM as a child of bash without `exec`, and the chart runs it under `sh -c`. SIGTERM never reaches the JVM, so every pod stop or rolling update ends in SIGKILL after the grace period: no shutdown hook, no clean Hazelcast leave, jobs replay from the last checkpoint. The fix is `exec java` in the script plus the exec-form command and `terminationGracePeriodSeconds` in the chart. I'd put it under Zeta recovery/checkpoint (every planned restart currently behaves like a crash), and it is a small, well-scoped change. I'll reply on the dev@ thread for 3.1.0. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
