You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Ben Tatham (JIRA)" <ji...@codehaus.org> on 2012/02/03 16:59:02 UTC

[jira] (MDEPLOY-144) retry failed deploy does not work on wagon authentication errors

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

        

[jira] (MDEPLOY-144) retry failed deploy does not work on wagon authentication errors

Posted by "Ben Tatham (JIRA)" <ji...@codehaus.org>.
    [ 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