[ https://issues.apache.org/jira/browse/WAGON-565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov closed WAGON-565. -------------------------------- Fix Version/s: (was: waiting-for-feedback) Resolution: Not A Problem This has been fixed in Java 11+ now. No more wrapping. > Do not skip retry on SSLException by default > -------------------------------------------- > > Key: WAGON-565 > URL: https://issues.apache.org/jira/browse/WAGON-565 > Project: Maven Wagon > Issue Type: Bug > Components: wagon-http > Affects Versions: 3.3.3 > Reporter: Martin Furmanski > Priority: Minor > Original Estimate: 3h > Remaining Estimate: 3h > > The SSL stack in Java will transform any transport error into an > SSLException, so it is very bad to skip retries for this entire class of > exceptions. Transport errors are probably the number one reason why retries > are needed, so it defeats the purpose for any secure deployments using HTTPS. > {code:java} > Caused by: javax.net.ssl.SSLProtocolException: Connection reset > at sun.security.ssl.Alert.createSSLException (Alert.java:126) > at sun.security.ssl.TransportContext.fatal (TransportContext.java:321) > at sun.security.ssl.TransportContext.fatal (TransportContext.java:264) > at sun.security.ssl.TransportContext.fatal (TransportContext.java:259) > at sun.security.ssl.SSLSocketImpl.handleException (SSLSocketImpl.java:1314) > at sun.security.ssl.SSLSocketImpl$AppInputStream.read (SSLSocketImpl.java:839) > at > org.apache.maven.wagon.providers.http.httpclient.impl.io.SessionInputBufferImpl.streamRead > (SessionInputBufferImpl.java:137) > at > org.apache.maven.wagon.providers.http.httpclient.impl.io.SessionInputBufferImpl.fillBuffer > (SessionInputBufferImpl.java:153) > at > org.apache.maven.wagon.providers.http.httpclient.impl.io.SessionInputBufferImpl.readLine > (SessionInputBufferImpl.java:280) > at > org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultHttpResponseParser.parseHead > (DefaultHttpResponseParser.java:138) > at > org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultHttpResponseParser.parseHead > (DefaultHttpResponseParser.java:56) > at > org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractMessageParser.parse > (AbstractMessageParser.java:259) > at > org.apache.maven.wagon.providers.http.httpclient.impl.DefaultBHttpClientConnection.receiveResponseHeader > (DefaultBHttpClientConnection.java:163) > at > org.apache.maven.wagon.providers.http.httpclient.impl.conn.CPoolProxy.receiveResponseHeader > (CPoolProxy.java:157) > at > org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequestExecutor.doReceiveResponse > (HttpRequestExecutor.java:273) > at > org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequestExecutor.execute > (HttpRequestExecutor.java:125) > at > org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.execute > (MainClientExec.java:272) > at > org.apache.maven.wagon.providers.http.httpclient.impl.execchain.ProtocolExec.execute > (ProtocolExec.java:185) > at > org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec.execute > (RetryExec.java:89) > at > org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RedirectExec.execute > (RedirectExec.java:110) > at > org.apache.maven.wagon.providers.http.httpclient.impl.client.InternalHttpClient.doExecute > (InternalHttpClient.java:185) > at > org.apache.maven.wagon.providers.http.httpclient.impl.client.CloseableHttpClient.execute > (CloseableHttpClient.java:83) > at > org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.execute > (AbstractHttpClientWagon.java:958) > at > org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData > (AbstractHttpClientWagon.java:1117) > at > org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData > (AbstractHttpClientWagon.java:1094) > at org.apache.maven.wagon.StreamWagon.getInputStream (StreamWagon.java:126) > at org.apache.maven.wagon.StreamWagon.getIfNewer (StreamWagon.java:88) > at org.apache.maven.wagon.StreamWagon.get (StreamWagon.java:61) > {code} > I realise this is the default of the HTTP client, but changing that library > is just too wide of a change in a patch, but for the maven wagon it sounds > quite safe and should help many people which experience this in their > deployments. The alternative is that everyone using HTTPS has to track down > this issue and tweak their configs. -- This message was sent by Atlassian Jira (v8.3.4#803005)