BobSong-dev commented on PR #6927:
URL: https://github.com/apache/shenyu/pull/6927#issuecomment-5311323018

   > LGTM.
   > 
   > Core fix is correct: `RocketMQLogCollectClient.initClient0()` previously 
registered its own `Runtime.getRuntime().addShutdownHook(new 
Thread(this::close))` on every successful init, while the parent 
`AbstractLogConsumeClient` already registers and centrally manages the shutdown 
hook (registered at line 78, removed in `close()` at line 84). On repeated 
config refreshes the child's hook would accumulate and the producer's close 
logic could run multiple times at JVM exit. Removing the duplicate is the right 
call, and cleanup semantics are preserved by the parent.
   > 
   > e2e script change is a sensible hardening: staged bring-up (mysql/admin → 
healthcheck → bootstrap → healthcheck → examples) with `|| exit 1` on the 
healthchecks so the script fails fast on unhealthy containers instead of 
silently continuing.
   > 
   > Minor note (non-blocking): the script assumes the service names 
`shenyu-mysql`, `shenyu-admin`, `shenyu-bootstrap` exist in 
`shenyu-sync-${sync}-eureka.yml` and that `k8s/script/healthcheck.sh` is 
present — worth a quick CI run to confirm, but it's test-only infra.
   > 
   > Approving.
   
   Thanks for the careful review and approval.
   I also checked the point about the compose service names and the healthcheck 
script with the CI run. The Spring Cloud E2E job passed with the staged startup 
flow, and the full E2E workflow is green, so the referenced services and 
k8s/script/healthcheck.sh are available in this scenario.
   Appreciate the review.


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