[ 
https://issues.apache.org/jira/browse/MRESOLVER-55?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667637#comment-16667637
 ] 

gordon cody commented on MRESOLVER-55:
--------------------------------------

Hello Michael

We have the same problem when we need to download into an empty maven cache 
from our artifactory . It occurs only when our network is quite busy. We 
modified our maven-3.5.2 to use the new wagon-http-3.2 jars and set 
-Dmaven.wagon.http.retryHandler.count=4.

Apologies, but I cannot provide complete logs. With the wagon-http-3.2 jars 
installed, I can see *I/O retry messages* in some of the successful builds, 
(this is great):

org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec 
execute
 I/O exception 
(org.apache.maven.wagon.providers.http.httpclient.NoHttpResponseException) 
caught when processing request to \{s}-><ourdomain>:443: The target server 
failed to respond
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec 
execute Retrying request to \{s}-><ourdomain>

 

Still we are having intermittent issues although the errors are now harder to 
reproduce.

This page 
[[https://maven.apache.org/wagon/wagon-providers/wagon-http/|http://example.com/]]
 talked about standard vs default  wagons so I tried adding this to our build 
-Dmaven.wagon.http.retryhandler.class=standard in order to avoid having cases 
where retries would be skipped but the error continues to occur.

 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
on project xyz: Could not resolve dependencies for project <gid>: 
<artifactid>:pom:<version>: Could not transfer 
artifact<somegid>:<someartifactid>:jar:<someversion> from/to <ourrepo> (<our 
url>): Connect to <ourdomain>:443 [<ourdomain>/<ourIP>] *failed: connect timed 
out*.

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
on project <our module> Could not resolve dependencies for project <our 
gid>:<our aid>:war:<our version>-SNAPSHOT: Could not transfer artifact 
<somegid>:<someaid>:jar:<someversion> from/to <our repository name> (<our 
repoUrl>): Connect to <our host>:<our port> [<our host>/<our IP>] failed: 
connect timed out
 at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:221)
 at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:245)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
 at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
 at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
 at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
 at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
 at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
 at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not 
resolve dependencies for project <our gid>:<our aid>:war:<our 
version>-SNAPSHOT: Could not transfer artifact 
<somegid>:<someaid>:jar:<someversion> from/to <our repository name> (<our 
repoUrl>): Connect to <our host>:<our port> [<our host>/<our IP>] failed: 
connect timed out
 at 
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:211)
 at 
org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 23 more
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could 
not transfer artifact <failed gid>:<failed aid>:jar:<failed version> from/to 
<our repository name> (<our repoUrl>): Connect to <our host>:<our port> [<our 
host>/<our IP>] failed: connect timed out
 at 
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:384)
 at 
org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:205)
... 24 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not 
transfer artifact <failed gid>:<failed aid>:jar:<failed version> from/to <our 
repository name> (<our repoUrl>): Connect to <our host>:<our port> [<our 
host>/<our IP>] failed: connect timed out
 at 
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
 at 
org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
 at 
org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:367)
... 25 more
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not 
transfer artifact <failed gid>:<failed aid>:jar:<failed version> from/to <our 
repository name> (<our repoUrl>): Connect to <our host>:<our port> [<our 
host>/<our IP>] failed: connect timed out
 at 
org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43)
 at 
org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:355)
 at 
org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67)
 at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.maven.wagon.TransferFailedException: Connect to 
<ourhost>:<our port> [<our host>/<our IP>] failed: connect timed out
 at 
org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:1066)
 at 
org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:960)
 at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
 at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
 at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:560)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:427)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:404)
 at 
org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:447)
 at 
org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
... 4 more
Caused by: 
org.apache.maven.wagon.providers.http.httpclient.conn.ConnectTimeoutException: 
Connect to <ourhost>:<our port> [<our host>/<our IP>] failed: connect timed out
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:132)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec.execute(RetryExec.java:86)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
 at 
org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.execute(AbstractHttpClientWagon.java:832)
 at 
org.apache.maven.wagon.providers.http.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:983)
... 13 more
Caused by: java.net.SocketTimeoutException: connect timed out
 at java.net.PlainSocketImpl.socketConnect(Native Method)
 at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
 at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
 at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
 at java.net.Socket.connect(Socket.java:589)
 at 
org.apache.maven.wagon.providers.http.httpclient.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:239)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
... 23 more

 

We also twice got *GET request of: <full path to jar> from <our repository> 
failed*

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
on project <our module>: GET request of: <some-full-jar-pathname>.jar from <our 
repository> failed
 at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:363)
 at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:316)
 at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:285)
 at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:97)
 at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run(WagonTransporter.java:560)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter.execute(WagonTransporter.java:427)
 at 
org.eclipse.aether.transport.wagon.WagonTransporter.get(WagonTransporter.java:404)
 at 
org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:447)
 at 
org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:350)
     ... 4 more
Caused by: java.net.SocketTimeoutException: Read timed out
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
 at java.net.SocketInputStream.read(SocketInputStream.java:171)
 at java.net.SocketInputStream.read(SocketInputStream.java:141)
 at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
 at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:593)
 at sun.security.ssl.InputRecord.read(InputRecord.java:532)
 at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
 at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
 at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:136)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.io.SessionInputBufferImpl.read(SessionInputBufferImpl.java:195)
 at 
org.apache.maven.wagon.providers.http.httpclient.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:178)
 at 
org.apache.maven.wagon.providers.http.httpclient.conn.EofSensorInputStream.read(EofSensorInputStream.java:137)
 at org.apache.maven.wagon.AbstractWagon.transfer(AbstractWagon.java:531)
 at org.apache.maven.wagon.AbstractWagon.getTransfer(AbstractWagon.java:353)
 ... 13 more

 

 

 

 

> Artifact download failures
> --------------------------
>
>                 Key: MRESOLVER-55
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-55
>             Project: Maven Resolver
>          Issue Type: Bug
>          Components: resolver
>    Affects Versions: Maven Artifact Resolver 1.1.1
>         Environment: Windows, Ubuntu
>            Reporter: Lasse Westh-Nielsen
>            Priority: Major
>             Fix For: waiting-for-feedback
>
>
> Hey,
> We often run Maven builds of [https://github.com/neo4j/neo4j] on machines 
> with cold caches/ empty ~/.m2/repository folders.
> There are rather a lot of dependencies to download, so even though the 
> failure rate of individual artifact downloads is small, at our scale it 
> causes significant build failures.
> I am working on seeding caches. Separately though it would be great to be 
> able to configure retries and timeouts for dependency downloads - optimise 
> for build throughput rather than latency as it were.
> How do I do that? I can't find it documented anywhere, and trying to browse 
> "wagon" source code got me nowhere.
> Regards,
> Lasse
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to