FrankChen021 opened a new pull request, #19810: URL: https://github.com/apache/druid/pull/19810
## What changed - move executor file-lock retry sleeps outside the lifecycle monitor while keeping channel creation, lock attempts, and lock publication synchronized - move GCE compute-service retry sleeps outside the autoscaler monitor - make the cached GCE service visible across threads and retain single initialization with a synchronized double check ## Why Both retry loops called `Thread.sleep` while holding an object monitor. A slow file-lock acquisition or delayed GCE service creation could therefore block unrelated lifecycle or autoscaler operations and triggered CodeQL's `java/sleep-with-lock-held` rule. ## Impact Retry timing and timeout behavior remain unchanged, but other threads no longer wait behind sleeping retry loops. Concurrent executor starts are still rejected, and the GCE compute service is still initialized at most once. ## Validation - `ExecutorLifecycleConfigTest` (1 test) - `GceAutoScalerTest` (12 tests) - Maven `validate` / Checkstyle for `indexing-service` and `extensions-contrib/gce-extensions` - `git diff --check` Fixes CodeQL alerts 2886 and 2887. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
