You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by James Green <ja...@gmail.com> on 2015/04/07 10:08:35 UTC

Re: Deploying to Nexus through haproxy does not work

And now https://issues.apache.org/jira/browse/MRELEASE-880

On 31 March 2015 at 22:16, Robert Scholte <rf...@apache.org> wrote:

> See http://jira.codehaus.org/browse/MRELEASE-880
> Let's try to gather information there.
>
> thanks,
> Robert
>
> Op Tue, 31 Mar 2015 14:30:19 +0200 schreef James Green <
> james.mk.green@gmail.com>:
>
>
>  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
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Deploying to Nexus through haproxy does not work

Posted by James Green <ja...@gmail.com>.
We are already on 1.5.11. Thankfully point two is dated 1 Apr...

On 7 April 2015 at 12:24, Martin Gainty <mg...@hotmail.com> wrote:

> big changes in HAProxy:
> 1)it looks as if TCP code is stable but HTTP mode was mucking the HTTP
> request headers in pre 1.5 HAProxy specifically:
> "One of them was not exactly a bug since it used to work
> as documented, but as it was documented to work in a stupid and useless
> way I decided to backport it anyway. It's the "http-request set-header"
>  action which used to remove the target header prior to computing the
> format string, making it impossible to append a value to an existing
> header, or to have to pass via a dummy header, adding to the complexity.
>  Now the string is computed before removing the header so that there's
> no more insane tricks to go through. "
> 2)author is now re-writing HAProxy from C to LUA because "CS grads dont
> learn C anymore"
> http://www.haproxy.org/
> getting the feeling he could use an "extra hand" for anyone that knows LUA
> ?
> Martin-
>
> > Date: Tue, 7 Apr 2015 09:08:35 +0100
> > Subject: Re: Deploying to Nexus through haproxy does not work
> > From: james.mk.green@gmail.com
> > To: users@maven.apache.org
> >
> > And now https://issues.apache.org/jira/browse/MRELEASE-880
> >
> > On 31 March 2015 at 22:16, Robert Scholte <rf...@apache.org> wrote:
> >
> > > See http://jira.codehaus.org/browse/MRELEASE-880
> > > Let's try to gather information there.
> > >
> > > thanks,
> > > Robert
> > >
> > > Op Tue, 31 Mar 2015 14:30:19 +0200 schreef James Green <
> > > james.mk.green@gmail.com>:
> > >
> > >
> > >  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
> > >>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: users-help@maven.apache.org
> > >
> > >
>
>

RE: Deploying to Nexus through haproxy does not work

Posted by Martin Gainty <mg...@hotmail.com>.
big changes in HAProxy:
1)it looks as if TCP code is stable but HTTP mode was mucking the HTTP  request headers in pre 1.5 HAProxy specifically:
"One of them was not exactly a bug since it used to work 
as documented, but as it was documented to work in a stupid and useless 
way I decided to backport it anyway. It's the "http-request set-header"
 action which used to remove the target header prior to computing the 
format string, making it impossible to append a value to an existing 
header, or to have to pass via a dummy header, adding to the complexity.
 Now the string is computed before removing the header so that there's 
no more insane tricks to go through. " 
2)author is now re-writing HAProxy from C to LUA because "CS grads dont learn C anymore"
http://www.haproxy.org/
getting the feeling he could use an "extra hand" for anyone that knows LUA
?
Martin-

> Date: Tue, 7 Apr 2015 09:08:35 +0100
> Subject: Re: Deploying to Nexus through haproxy does not work
> From: james.mk.green@gmail.com
> To: users@maven.apache.org
> 
> And now https://issues.apache.org/jira/browse/MRELEASE-880
> 
> On 31 March 2015 at 22:16, Robert Scholte <rf...@apache.org> wrote:
> 
> > See http://jira.codehaus.org/browse/MRELEASE-880
> > Let's try to gather information there.
> >
> > thanks,
> > Robert
> >
> > Op Tue, 31 Mar 2015 14:30:19 +0200 schreef James Green <
> > james.mk.green@gmail.com>:
> >
> >
> >  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
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >