slachiewicz opened a new pull request, #3972:
URL: https://github.com/apache/thrift/pull/3972

   [THRIFT-6392](https://issues.apache.org/jira/browse/THRIFT-6392)
   
   The fastest pool stopped registering completion callbacks once it saw a 
child future that had already completed, assuming that child had set the 
result. A child that failed with an RPC fault does not set it, so the remaining 
children were never counted and the pool's future never completed. 
`client_pool_test` hit this in its all-clients-fail case whenever the 1 ms 
server answered before the pool was constructed, which is the intermittent 
`lib-d` job timeout.
   
   `client_pool_test` now bounds every client wait and socket read, and CI caps 
the D check step at 15 minutes, so a future hang fails in seconds rather than 
holding the job until its 60 minute timeout.
   
   Verified: the new unittest fails before the fix and passes after; 30 local 
runs of `client_pool_test` (LDC, macOS arm64) went from 5 hangs to none.


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

Reply via email to