[ https://jira.codehaus.org/browse/MDEPLOY-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=290712#comment-290712 ]
Ben Tatham commented on MDEPLOY-144: ------------------------------------ Note that one solution to this issue at a higher level would be to do a single authentication with Nexus for all the artifacts to be deployed (all-or-nothing upload of that version). I'm not sure if that's even possible though, without changes to Nexus itself. > 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