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

Connection leak in Browse Remote when content encoding is gzip

Details

    • 1
    • Sprint 36, Sprint 37

    Description

      There is a connection leak triggered when using the Browse Remote feature.

      Symptoms

      Logs contain these types of messages:

      2015-02-23 08:57:27 WARN [850148762-12088] - org.sonatype.nexus.plugins.rrb.MavenRepositoryReader - Failed to get directory listing content

      org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool

      Cause

      Under normal circumstances the leak is handled gracefully by GC and HttpClient. Still, in case when remote uses Content-Encoding: gzip and/or chunked transfer encoding, the connections are NOT reused even after longer period, leading to connection pool depletion.

      Original reporter's description:

      When I'm browsing a remote maven repository in 2.11.1-01, after maybe ~20 steps through the remote repository tree, I get an infinitly spinning cirle. Refresh doesn't work either. The only way to continue browsing the repository is to restart Nexus.

      This seems to impede all communication with the remote repository. Downloading a file that has not yet been cached locally doesn't work either in this state.

      Workaround

      For immediate mitigation a Nexus restart is required to free the leaking connections.

      For temporary mitigation until you upgrade to a fixed Nexus version, install the version specific patched jars attached to this issue.

      Attachments

        Issue Links

          Activity

            People

              jtom Joe Tom
              Isek Isek
              Peter Lynch Peter Lynch
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                tigCommentSecurity.panel-title