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]

Reply via email to