xiangfu0 opened a new pull request, #19222:
URL: https://github.com/apache/pinot/pull/19222

   ### Problem
   
   Parallel unit-test forks from #19199 exposed an existing cancellation race 
in `LuceneMutableTextIndexTest`.
   
   When the search pool was saturated, `ForceQueuePolicy` used interruptible 
`BlockingQueue.put()`. If the submitting query thread was already interrupted, 
submission failed with `RejectedExecutionException: InterruptedException` 
instead of reaching the expected Lucene cancellation path.
   
   Failing CI: 
https://github.com/apache/pinot/actions/runs/31544141709/job/93952962710?pr=19220
   
   ### Changes
   
   - Queue saturated-pool submissions through a non-interruptible 
`forceOffer()` while preserving the caller's interrupt status.
   - Preserve rejection behavior when shutdown occurs before or concurrently 
with queueing.
   - Add coverage for interrupted submissions and submissions after shutdown.
   - Make the Lucene cancellation regression deterministic with explicit 
synchronization and drain the nested search before index teardown.
   
   Normal thread-pool scaling behavior is unchanged.
   
   ### Validation
   
   - Reproduced the exact CI failure with the previous rejection policy.
   - `ScalingThreadPoolExecutorTest`: 6/6 passed.
   - `LuceneMutableTextIndexTest`: 9/9 passed.
   - Cancellation regression: 5/5 repeated runs passed with JDK 25, three 
forks, 2500m fork heap, and retries disabled.
   - Spotless, Checkstyle, license format, and license checks passed for 
`pinot-common` and `pinot-segment-local`.


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