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

docker tags/list outbound paged request can consume all available outbound connections for the proxy repository

    Details

    • Notability:
      1
    • InvestmentLayer:
      support-escalated
    • Aha Concept:
      non-concept

      Description

      1. Create docker proxy repo to https://quay.io
      2. Create docker group and add proxy repo into it.
      3. make this request to group repo:

      curl -v -u admin:admin123 http://localhost:8081/repository/sonatype-docker/v2/bitnami/nginx/tags/list
      

      4. All the connections in the outbound http connection pool for the proxy repo are used by that single inbound request.

      2022-02-23 17:43:36,983-0400 WARN  [qtp997380238-744] admin org.sonatype.nexus.repository.docker.internal.orient.DockerProxyFacetImpl - Exception org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool checking remote for update, proxy repo docker-quay-proxy failed to fetch v2/bitnami/nginx/tags/list, content not in cache.
      

      The consequence is that this can cause other unrelated requests tags/list docker requests to the remote to fail.

      If one examines the outbound request handling, you can see 20 outbound requests of this form - the connection pool size for a proxy repo is 20:

      2022-02-23 17:41:17,971-0400 DEBUG [qtp997380238-748] admin org.sonatype.nexus.httpclient.outbound - https://quay.io/v2/bitnami/nginx/tags/list?n=50&next_page=gAAAAABiFqn-dzmxKiy8z7mV6s6tvrZNI1aYXvU2UXnSIl6Gi9qnED1k84oR4nTZLYfiTmPQ2nYfZPsyaFktsd4aziBklPOsnRSmFz33ivL8NpxRNguFcWw%3D > GET /v2/bitnami/nginx/tags/list?n=50&next_page=gAAAAABiFqn-dzmxKiy8z7mV6s6tvrZNI1aYXvU2UXnSIl6Gi9qnED1k84oR4nTZLYfiTmPQ2nYfZPsyaFktsd4aziBklPOsnRSmFz33ivL8NpxRNguFcWw%3D HTTP/1.1
      

      Expected

      tags/list resource needs to be much more efficient handling outbound paged requests.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Rich Seddon Rich Seddon
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title