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]

Reply via email to