Uploaded image for project: 'Archiva'
  1. Archiva
  2. MRM-1422

Slow proxy behavior with multiple proxies configured

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.1
    • Backlog
    • remote proxy
    • None

    Description

      I am seeing an issue with the remote proxying code that looks like it can cause a significant amount of unnecessary network traffic if multiple remote proxies have been configured.

      Here is an example of what is happening (after enabling logging in org.apache.maven.archiva.proxy package):

      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Retrieving org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom from Central Repository if updated
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Artifact org.apache.maven.shared:maven-shared-io:1.1::pom not updated on repository "central".
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Path [org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom] is not part of defined whitelist (skipping transfer from repository [Java.net Repository for Maven 2]).
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Retrieving org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom from neo4j-public-repository if updated
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Artifact org.apache.maven.shared:maven-shared-io:1.1::pom not found on repository "neo4j".
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Retrieving org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom from JBoss if updated
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Artifact org.apache.maven.shared:maven-shared-io:1.1::pom not found on repository "jboss".
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Retrieving org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.pom from Codehaus Repository if updated
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Artifact org.apache.maven.shared:maven-shared-io:1.1::pom not found on repository "codehaus".
      DEBUG org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors - Exhausted all target repositories, artifact org.apache.maven.shared:maven-shared-io:1.1::pom not found.

      From the logs it appears that the first proxy repository returned that the resource is not out of date and exists on disk. However, this doesn't cause Archiva to stop looking for the repository - instead it looks for the "found" resource in all of the other repositories.

      The code in question is the loop in fetchFromProxies in DefaultRepositoryProxyConnectors.java. I think it should return immediately after finding that the resource hasn't been modified on the first proxy it finds (when catching NotModifiedException).

      Attachments

        Activity

          People

            Unassigned Unassigned
            pkwarren Philip K. Warren
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: