Jackie-Jiang opened a new pull request, #19597:
URL: https://github.com/apache/pinot/pull/19597
## Summary
`ReceivingMailboxTest.readingUnblocksWriters` fails intermittently on
`assertTrue(blocked.isDone())`:
```
java.lang.AssertionError: The blocked offer should be unblocked by reading
expected [true] but found [false]
at
org.apache.pinot.query.mailbox.ReceivingMailboxTest.readingUnblocksWriters(ReceivingMailboxTest.java:326)
```
The test fills a capacity-2 mailbox, submits a third offer that blocks, then
polls until it has read three blocks. Once the first poll frees a slot, the
writer thread enqueues the third block under the queue lock, releases the lock,
and only afterwards returns from `offer()`, at which point the
`CompletableFuture` wrapping it completes. The main thread can poll that third
block as soon as the lock is released, so it reaches the `isDone()` check while
the writer is still returning. The assertion is therefore racy by construction.
The next line, `assertEquals(blocked.get(), SUCCESS, ...)`, already waits
for the offer to finish and verifies that reading unblocked it, and the
method's `timeOut` covers a hang. This removes the `isDone()` assertion.
Example failure:
https://github.com/apache/pinot/actions/runs/35273748527/job/105379174130
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]