FrankChen021 opened a new pull request, #19827:
URL: https://github.com/apache/druid/pull/19827

   ## What
   
   - wake every blocked reader when input is added, completed, or failed
   - prove terminal stream transitions release multiple waiting readers
   - synchronize MapDB check/use sequences on MapDB's own monitor
   
   ## Why
   
   This addresses all five CodeQL warnings in the concurrency group:
   
   - 4 `java/notify-instead-of-notify-all`
   - 1 `java/toctou-race-condition`
   
   ## Impact
   
   Terminal input-stream transitions can no longer leave additional readers 
blocked. MapDB close and cache disposal cannot interleave between `isClosed()` 
and the corresponding state-changing operation.
   
   ## Root cause
   
   The stream implementations relied on an implicit single-waiter assumption. 
The MapDB lifecycle method was synchronized on the anonymous handler instance 
rather than on the database object used by MapDB's own synchronized APIs.
   
   ## Checks
   
   - affected-module compilation and Checkstyle passed
   - processing concurrency tests: 17 passed
   - lookup cache lifecycle/concurrency tests: 57 passed
   - `git diff --check`
   
   Created by GPT-5.6-Sol.
   


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