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

java.lang.NumberFormatException for S3 blob stores on upgrade

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.34.0
    • Fix Version/s: 3.37.0
    • Component/s: Blobstore, S3
    • Labels:
    • Notability:
      2

      Description

      If running on NXRM  versions 3.31 to 3.33, and an S3 blob store is configured with the default connection pool size, then post upgrade to 3.34, the S3 blob store's configuration page in the UI fails to load due to the following exception:

      org.sonatype.nexus.siesta.internal.UnexpectedExceptionMapper - (ID 664fd54d-aca7-4eda-b9b4-2840bfe112db) Unexpected exception: java.lang.NumberFormatException: For input string: ""
      java.lang.NumberFormatException: For input string: ""
              at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
              at java.lang.Integer.parseInt(Integer.java:592)
              at java.lang.Integer.valueOf(Integer.java:766)
              at java.util.Optional.map(Optional.java:215)
              at org.sonatype.nexus.blobstore.s3.rest.internal.S3BlobStoreApiConfigurationMapper.buildS3BlobStoreAdvancedBucketConnection(S3BlobStoreApiConfigurationMapper.java:122)
              at org.sonatype.nexus.blobstore.s3.rest.internal.S3BlobStoreApiConfigurationMapper.createS3BlobStoreBucketConfiguration(S3BlobStoreApiConfigurationMapper.java:76)
              at org.sonatype.nexus.blobstore.s3.rest.internal.S3BlobStoreApiConfigurationMapper.map(S3BlobStoreApiConfigurationMapper.java:47)
              at java.util.Optional.map(Optional.java:215)
              at org.sonatype.nexus.blobstore.s3.rest.internal.S3BlobStoreApiResource.fetchBlobStoreConfiguration(S3BlobStoreApiResource.java:139)
              at org.sonatype.nexus.blobstore.s3.rest.internal.S3BlobStoreApiResource.getBlobStore(S3BlobStoreApiResource.java:130)
              at org.apache.shiro.guice.aop.AopAllianceMethodInvocationAdapter.proceed(AopAllianceMethodInvocationAdapter.java:49)

      Reproduce:

      1. On Nexus 3.32 create an S3 blob store and leave the max connection pool field empty. 

      2. Upgrade to Nexus 3.34.

      3. Post upgrade try to access the S3 blob store's config page.

      Workaround:

      Use the  PUT /v1/blobstores/s3/{name} REST endpoint to update the blob store's config and set an explicit integer value for the maxConnectionPoolSize key.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dbradicich Damian Bradicich
              Reporter:
              hardeepn Hardeep Nagra
              Last Updated By:
              Damian Bradicich Damian Bradicich
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title