ffang opened a new pull request, #3514: URL: https://github.com/apache/cxf/pull/3514
… bodyless requests For a request without a body (e.g. a GET fetching a remote WSDL), close() invoked from the async send's exceptionally() callback re-enters handleHeadersTrustCaching() -> setProtocolHeaders() and resends the request, since `written` is never set and no exception has been recorded on the message. The renewed failure triggers another callback, another close(), and another resend, indefinitely. Record the failure in the (previously unused) `exception` field from the exceptionally() callback, and short-circuit setProtocolHeaders() once it is set, letting handleNoOutput()/setupWrappedStream() surface the recorded failure instead of resending. Add HttpClientHTTPConduitResendLoopTest, reproducing the reporter's suggested scenario (a server that accepts and immediately drops every connection), which observed thousands of connection attempts within seconds on the unpatched code. -- 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]
