gitedmond opened a new pull request, #20453: URL: https://github.com/apache/druid/pull/20453
Fixes #20429. ### Description `testSupervisorStopTaskGroupEarly` waited for an empty notice queue before its second `runInternal()` call. The notice thread removes a handoff notice from the queue before handling it, so the test could run before `handoffEarly` was set and miss the expected task shutdown. The test now waits on a latch released from `emitNoticeProcessTime` only after the `handoff_task_group_notice` handler completes. The wait is bounded to five seconds under the existing ten-second test timeout. Production behavior is unchanged. ### Validation - Baseline on upstream `master`, JDK 25, Surefire retries disabled: the target test passed 1/1 locally. The intermittent failure was documented in the issue's CI jobs and did not reproduce in this single local run. - After the change, the target test passed in 10/10 independent Maven runs with `-Dsurefire.rerunFailingTestsCount=0`. - The full `SeekableStreamSupervisorStateTest` class passed: 61 tests, 0 failures, 0 errors, 0 skipped, with retries disabled. - `mvn -pl indexing-service checkstyle:check`: 0 violations. - `git diff --check`: passed. - `mvn validate -pl indexing-service -am -T1C` did not reach `indexing-service`: PMD in the AWS and GCP common modules could not resolve the reactor's `druid-processing` snapshot jar during the `validate` phase. The changed module's Checkstyle check was run directly as noted above. The test commands used `-pl indexing-service -am -Dsurefire.failIfNoSpecifiedTests=false -Dsurefire.rerunFailingTestsCount=0 -Pskip-static-checks -Dweb.console.skip=true -T1C`, selecting the target method for the repeated runs and the full class for the class run. ##### Key changed classes - `SeekableStreamSupervisorStateTest`: wait for the handoff notice to finish before asserting its effect. This PR has: - [x] been self-reviewed, including the concurrency checklist. - [x] updated the existing regression test for the notice handling race. -- 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]
