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]
