We have recently moved our Sonartype Nexus installation (latest version) behind haproxy (again latest version).
When Jenkins performs a snapshot, it is able to upload the artefacts without problem. When Jenkins performs a release, the procedure fails with an SocketException during the PUT of an artefact (happens at random). The logs show a 401 followed by a 200 for each artefact until finally nothing more occurs due to the exception experienced by the maven HTTP client. If we change haproxy to work in tcp mode, it all works fine. We are puzzled. I've checked on the Nexus users list, they have no idea why this is happening. Stacktrace (bottom part of): [INFO] Caused by: org.apache.maven.wagon.TransferFailedException: Broken pipe [INFO] at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:336) [INFO] at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:280) [INFO] at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:811) [INFO] ... 28 more [INFO] Caused by: java.net.SocketException: Broken pipe [INFO] at java.net.SocketOutputStream.socketWrite0(Native Method) [INFO] at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) [INFO] at java.net.SocketOutputStream.write(SocketOutputStream.java:159) [INFO] at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) [INFO] at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon$RequestEntityImplementation.writeRequest(AbstractHttpClientWagon.java:160) [INFO] at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499) [INFO] at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114) [INFO] at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096) [INFO] at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) [INFO] at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) [INFO] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) [INFO] at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) [INFO] at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.execute(AbstractHttpClientWagon.java:446) [INFO] at org.apache.maven.wagon.shared.http.AbstractHttpClientWagon.put(AbstractHttpClientWagon.java:330) [INFO] ... 30 more Any ideas? Thanks, James
