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]
