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

   ## Summary
   
   - Run the preferred mock compression server with two handler threads.
   - Wait for both independent preferred requests to enter their handlers.
   - Shut down the dedicated test executor during cleanup.
   
   ## Root cause
   
   The embedded `HttpServer` used its default executor, which serializes 
request handlers. This test sends final and retryable segment requests to the 
same preferred endpoint while deliberately blocking the handler. When the final 
request entered first, the retryable request could reach its half-deadline and 
be cancelled before its queued handler incremented the request counter. The 
test then reported `expected [2] but found [1]` even though the production 
deadline behavior was correct.
   
   ## How to reproduce
   
   On an unfixed checkout, repeatedly run the failing method under JDK 25 with 
test retries disabled:
   
   ```bash
   for attempt in {1..100}; do
     JAVA_HOME=/path/to/jdk-25 ./mvnw -q -pl pinot-controller \
       
-Dtest=TableMetadataReaderCompressionTest#testFinalReplicaKeepsOverallDeadlineWhileAnotherSegmentFallsBack
 \
       -Dunit.test.rerun.count=0 surefire:test || break
   done
   ```
   
   The race is recorded in #19065 and in [GitHub Actions job 
94326703474](https://github.com/apache/pinot/actions/runs/31661370206/job/94326703474),
 where the assertion failed after approximately the retryable half-deadline.
   
   ## Validation
   
   - Focused JDK 25 build with retries disabled: passed.
   - 20 independent focused Surefire executions: 20/20 passed.
   - Full `TableMetadataReaderCompressionTest`: 24 tests passed, 0 
failures/errors/skips.
   - `spotless:apply`, `checkstyle:check`, `license:format`, and 
`license:check`: passed for `pinot-controller`.
   - `git diff --check`: passed.
   
   Closes #19065.
   


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