maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andre Doherty (JIRA)" <>
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
             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:
For more information on JIRA, see:


View raw message