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

S3 connection pool exhaustion when merging repomd.xml in group repositories

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.30.1
    • Fix Version/s: 3.31.0
    • Component/s: S3, Yum
    • Labels:

      Description

      When generating a new repomd.xml for a yum group repository, some input streams may not be closed correctly. When used with an S3 blobstore, this leads to the connection pool being permanently full.

      2021-05-10 14:36:38,587-0400 ERROR [qtp882690905-226] *UNKNOWN org.sonatype.nexus.repository.yum.orient.internal.group.OrientYumGroupHandler - Error opening input stream for yum-proxy-19                                             
      com.amazonaws.SdkClientException: Unable to execute HTTP request: Timeout waiting for connection from pool                                                                                                                             
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleRetryableException(AmazonHttpClient.java:1207)                                                                                                                    
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1153)                                                                                                                               
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:802)                                                                                                                                    
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770)                                                                                                                             
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:744)                                                                                                                                      
              at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:704)                                                                                                                                   
              at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:686)                                                                                                                          
              at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:550)                                                                                                                                                      
              at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:530)                                                                                                                                                      
              at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5062)                                                                                                                                                   
              at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5008)                                                                                                                                                   
              at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1490)                                                                                                                                                
              at com.amazonaws.services.s3.EncryptingAmazonS3Client.getObject(EncryptingAmazonS3Client.java:164)                                                                                                                             
              at com.amazonaws.services.s3.EncryptingAmazonS3Client.getObject(EncryptingAmazonS3Client.java:171)
              at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore$S3Blob.doGetInputStream(S3BlobStore.java:665)
              at org.sonatype.nexus.blobstore.BlobSupport.getInputStream(BlobSupport.java:87)
              at org.sonatype.nexus.repository.view.payloads.BlobPayload.openInputStream(BlobPayload.java:44)
              at org.sonatype.nexus.repository.view.Content.openInputStream(Content.java:95)
              at org.sonatype.nexus.repository.view.Payload$openInputStream.call(Unknown Source)
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mbucher Michael Bucher
              Reporter:
              mbucher Michael Bucher
              Last Updated By:
              Michael Bucher Michael Bucher
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title