ADDITIONAL SYSTEM INFORMATION :
Windows (but seems to be OS agnostic)
A DESCRIPTION OF THE PROBLEM :
When the server closes the socket, while the asynchronous processing of received elements of the queue is still ongoing, the caller on the client side receives an exception "EOF reached while reading" although a correct response has already been received and is currently being processed.
Also happens with 21.0.9.
REGRESSION - Customer Java Version: 25.0.1
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
* Client sends request to server
* Server responds
* Client receives response in Http2Connection$Http2TubeSubscriber which is processed asynchronously (put in queue)
* Server sends go-away
* Server closes the socket
* On the client Http2Connection$Http2TubeSubscriber.onComplete() is called while asynchronous processing is still ongoing.
CUSTOMER SUBMITTED WORKAROUND :
(a) Do not close the connection on the server side, or add a delay on the server side. Not ideal as the server might not be under the client's control.
(b) Force HTTP/1.1. Not ideal as this opts out of HTTP/2 improvements.
FREQUENCY :
OFTEN
Windows (but seems to be OS agnostic)
A DESCRIPTION OF THE PROBLEM :
When the server closes the socket, while the asynchronous processing of received elements of the queue is still ongoing, the caller on the client side receives an exception "EOF reached while reading" although a correct response has already been received and is currently being processed.
Also happens with 21.0.9.
REGRESSION - Customer Java Version: 25.0.1
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
* Client sends request to server
* Server responds
* Client receives response in Http2Connection$Http2TubeSubscriber which is processed asynchronously (put in queue)
* Server sends go-away
* Server closes the socket
* On the client Http2Connection$Http2TubeSubscriber.onComplete() is called while asynchronous processing is still ongoing.
CUSTOMER SUBMITTED WORKAROUND :
(a) Do not close the connection on the server side, or add a delay on the server side. Not ideal as the server might not be under the client's control.
(b) Force HTTP/1.1. Not ideal as this opts out of HTTP/2 improvements.
FREQUENCY :
OFTEN