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]
