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]

Reply via email to