Ben Tatham created MDEPLOY-144:
----------------------------------
Summary: retry failed deploy does not work on wagon authentication
errors
Key: MDEPLOY-144
URL: https://jira.codehaus.org/browse/MDEPLOY-144
Project: Maven 2.x and 3.x Deploy Plugin
Issue Type: Improvement
Components: deploy:deploy
Affects Versions: 2.7
Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: C:\tools\maven\apache-maven-3.0.4
Java version: 1.6.0_29, vendor: Sun Microsystems Inc.
Java home: C:\tools\Java\jdk1.6.0_29\jre
Default locale: en_CA, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
Reporter: Ben Tatham
Priority: Minor
I have increased the retryFailedDeploymentCount to 10, which does work when I
have seen the upload timeout.
But when webdav wagon returns 401, it does not retry. I can understand why it
wouldn't do that (in most cases, it would just fail again, like if you get a
400 due to the artifact already existing in Nexus, and even most authentication
failures), but allow me to explain the scenario.
Why I want it to retry:
Oddly, our Nexus installation occasionally fails to properly authenticate (our
IT people say its due to some difference in ActiveDirectory on WindowsServer
2008 from 2000, and Nexus LDAP does it the 2000 way).
This is very annoying, because it will fail almost always on the 2nd or 3rd
artifact to upload during deployment, which means to properly deploy the
release, we have to either delete the already uploaded artifacts for that
release from Nexus, or do manual deploy-file/via nexus ui of the remaining
artifacts.
I have looked at the code to try and create a patch, but its been hard to piece
together the code paths, as it looks like it depends on the maven installation,
not the dependency hierarchy of maven-deploy-plugin. Specifically, my guess it
is handled inside artifact-manager.
org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.put
[INFO] [ERROR] Failed to execute goal
org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on
project events: Failed to deploy artifacts: Could not transfer artifact
ca.nanometrics:events:jar:1.1.7 from/to releases
(http://{removed}/nexus/content/repositories/releases): Failed to transfer
file:
http://{removed}/nexus/content/repositories/releases/ca/nanometrics/events/1.1.7/events-1.1.7.jar.
Return code is: 401, ReasonPhrase:Unauthorized. -> [Help 1]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira