Version
main
Context
In https://github.com/eclipse-vertx/vert.x/actions/runs/20499367576/job/58904378867 the test failed, and it is an unstable test.
When analyzing the test, I found the following:
Http2ClientConnectionImpl.onStreamClosed() calls super.onStreamClosed(s) which will return the connection to the pool
- When doing that, the
expirationTimestamp is not set yet, and due to that the isValid() will return false and evict the SharedHttpClientConnectionGroup.checkExpired() will have a short time window to close the connection before the Http2ClientConnectionImpl.onStreamClosed() set the expirationTimestamp and make the connection valid again.
Steps to reproduce
I was able to reproduce it locally with several breakpoints and some delays in the test.
I'll prepare a pull request.
Do you have a reproducer?
No response
Version
main
Context
In https://github.com/eclipse-vertx/vert.x/actions/runs/20499367576/job/58904378867 the test failed, and it is an unstable test.
When analyzing the test, I found the following:
Http2ClientConnectionImpl.onStreamClosed()callssuper.onStreamClosed(s)which will return the connection to the poolexpirationTimestampis not set yet, and due to that theisValid()will return false and evict theSharedHttpClientConnectionGroup.checkExpired()will have a short time window to close the connection before theHttp2ClientConnectionImpl.onStreamClosed()set theexpirationTimestampand make the connection valid again.Steps to reproduce
I was able to reproduce it locally with several breakpoints and some delays in the test.
I'll prepare a pull request.
Do you have a reproducer?
No response