Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-6602

nexus-staging-maven-plugin inline deploys perform slower than maven-deploy-plugin even when not using staging features

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Staging
    • Labels:
    • Environment:
      1.6.1 + Maven 3.2.1

      Description

      Builds using skipLocalStaging option and SNAPSHOT artifacts can take up to 2x longer using nexus-staging-maven-plugin as compared to maven-deploy-plugin.

      See README.md in attached reproduce case.

      Excerpt:


      Using Maven 3.2.1:

      Setup: Prime local repo

      ./mvn clean install -f build1/pom.xml

      Setup: Local Nexus instance

      Start Nexus at http://localhost:8081/nexus

      Execute build using maven-deploy-plugin, no deploy at end. Observe wall clock build time reported by Maven.

      time verbose=y bash -x ./mvn clean deploy -f build1/pom.xml -Dbuildsupport-staging.skip -T 4

      Execute build using nexus-staging plugin, no deploy at end. Observe wall clock build time reported by Maven.

      time verbose=y bash -x ./mvn clean deploy -f build1/pom.xml -DskipLocalStaging=true -T 4

      Problems?

      • nexus-staging plugin is usually 2x slower, but sometimes just as fast.
      • total per module build time != total wall clock time as there are parallel threads executing (expected but maven-deploy-plugin does not seem to have this problem)
      • jdk8 has a long delay at end of build doing some sort of cleanup, jdk7 always ends immediately ( just to note in case someone is looking for general speedup)
      • for every `[INFO] org.sonatype.nexus.maven.staging.deploy.DeployMojo - Waiting for other projects build to finish... `
        log statement, NSMP adds an artificial delay of 2 seconds

      Expected:

      • why wait for other modules at all if we are deploying SNAPSHOT versions and not using deploy at end or staging features?
      • "the correct way to do this in m3 is using LifecycleParticipant"

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Peter Lynch
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title