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

Getting S3 connection timeout for npm public repos

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.30.1, 3.31.0
    • Fix Version/s: None
    • Component/s: S3
    • Labels:

      Description

      Request to the npm public repo packages is causing ConnectionPoolTimeoutException. 
      This is becoming quite frequent and we have to restart nexus every-time to resolve this.
      I am aware that there is already an open ticket for the same and suggestions around it i.e To Increase S3 connection count property.
      But that also does not assures for permanent resolution.

      Stacktrace : 

      *UNKNOWN org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /nexus/content/groups/npm-public/@cvent%2Fnucleus-networking-node
      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.getObjectMetadata(AmazonS3Client.java:1338)
      	at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1312)
      	at com.amazonaws.services.s3.AmazonS3Client.doesObjectExist(AmazonS3Client.java:1393)
      	at org.sonatype.nexus.blobstore.s3.internal.S3PropertiesFile.exists(S3PropertiesFile.java:76)
      	at org.sonatype.nexus.blobstore.s3.internal.S3BlobAttributes.load(S3BlobAttributes.java:44)
      	at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.refreshBlob(S3BlobStore.java:393)
      	at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.get(S3BlobStore.java:380)
      	at com.palominolabs.metrics.guice.TimedInterceptor.invoke(TimedInterceptor.java:26)
      	at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.get(S3BlobStore.java:366)
      	at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
      	at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:272)
      	at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:54)
      	at org.sonatype.nexus.repository.npm.internal.orient.NpmFacetUtils.packageRootAssetToInputStream(NpmFacetUtils.java:504)
      	at org.sonatype.nexus.repository.npm.internal.orient.NpmFacetUtils.lambda$3(NpmFacetUtils.java:374)
      	at org.sonatype.nexus.repository.view.payloads.StreamPayload.openInputStream(StreamPayload.java:50)
      	at org.sonatype.nexus.repository.npm.internal.orient.NpmStreamPayload.openInputStream(NpmStreamPayload.java:86)
      	at org.sonatype.nexus.repository.view.Content.openInputStream(Content.java:95)
      	at org.sonatype.nexus.repository.httpbridge.internal.DefaultHttpResponseSender.send(DefaultHttpResponseSender.java:78)
      	at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.dispatchAndSend(ViewServlet.java:229)
      	at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:175)
      	at org.sonatype.nexus.repository.httpbridge.internal.LegacyViewServlet.doService(LegacyViewServlet.java:73)
      	at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:127)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
      	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
      	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              Prashant123 Prashant Thakur
              Last Updated By:
              Joe Tom Joe Tom
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Date of First Response:

                  tigCommentSecurity.panel-title