maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre Doherty (JIRA)" <j...@codehaus.org>
Subject [jira] Created: (MNG-4857) Improvement of performance on http deployment
Date Wed, 06 Oct 2010 16:22:32 GMT
Improvement of performance on http deployment
---------------------------------------------

                 Key: MNG-4857
                 URL: http://jira.codehaus.org/browse/MNG-4857
             Project: Maven 2 & 3
          Issue Type: Improvement
          Components: Deployment
    Affects Versions: 2.2.1
         Environment: Any
            Reporter: Andre Doherty


To my understanding, the current mecanism of deployment stands as :
- DeployMojo uses DefaultArtifactDeployer
- The latest relies on Wagon (mainly LightweightHttpWagon) to do the http deployment. 
- The deployment of one single file is implemented as HTTP PUT, done using the HTTP client
stack provided by the JDK.

When deploying an artifact to a remote repository, DefaultArtifactDeployer first deploys the
file itself, then the metadata (pom mainly + .md5 etc).

The drawback stands in the HTTP conversation (as implemented in the Sun HTTP stack) : if the
http headers doesn't contain the "Authorization" header (assuming the remote part require
basic authentication), then the remote will return a 201 HTTP code, asking for a authentication,
and therefore for a second try.

Of course if we are dealing with a large artifact (war, ear) on a single deployment it will
have to be sent twice. (In a chain of deployment on the same remote server, only the first
one is impacted).

I see several tracks to improve the performance : 
- set Autorization as a header (we know in advance that the HTTP will require authentication,
according to settings.xml, however, this assets that we do basic authentication.
- reverse order on publication : publish the pom before the jar/war/ear itself : if we need
to retry, at least we dont have to resend dozens of megabytes.







-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message