arturobernalg opened a new pull request, #926:
URL: https://github.com/apache/httpcomponents-client/pull/926

   SocketTimeoutException extends InterruptedIOException and 
DefaultEventSource#isBenignCancel classified it as a benign cancellation. A 
read timeout closed the stream with onClosed(), without onFailure() and without 
a reconnect.
   
   With a client configured with a socket timeout, a server that sends one 
event and goes silent leaves the application with no failure callback and no 
further connection attempts. A socket timeout is a network failure, so it now 
reaches onFailure(ex, willReconnect) and follows the backoff policy. A plain 
InterruptedIOException is still treated as benign.
   
   Reproduced against a local server that sends one event and stays silent, 
client with a 5 second soTimeout: before, onClosed at 5.0s, no onFailure, 1 
connection; after, onFailure(SocketTimeoutException, willReconnect=true) every 
~5s and a new connection each time (4 in 20s).
   
   Tests: new DefaultEventSourceIntegrationTest cases fail on master and pass 
with the change; httpclient5-sse verify with checkstyle, 53 tests, 0 failures.


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