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

Promoting a nested blob store causes it to be removed entirely

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.29.0
    • Fix Version/s: 3.30.0
    • Component/s: Blobstore
    • Labels:
    • Notability:
      2

      Description

      Boot Nexus 3.29.0 with the attached work directory. Observe that there is a warning saying blob store 'fubar' is nested in blob store 'default'.

      Attempt to remedy this by following the instructions here:

      https://help.sonatype.com/display/NXRM3/Storage+Guide#StorageGuide-Example:MovingaBlobStore

      As a first step, try promoting blob store "fubar" to a group.

      This will fail with an error, and the blob store will be deleted!

      lob: fubar store was removed, but failed to be created with new configuration and failed to be resurrected
      org.sonatype.nexus.rest.ValidationErrorsException: A file blob store must have a unique path, and may not be contained in a sub directory of another blob store. Blob stores with violations: default
      at org.sonatype.nexus.blobstore.file.internal.FileBlobStorePathValidator.validatePathUniqueConstraint(FileBlobStorePathValidator.java:100)
      at org.sonatype.nexus.blobstore.file.internal.FileBlobStoreDescriptor.validateConfig(FileBlobStoreDescriptor.java:113)
      at org.sonatype.nexus.repository.internal.blobstore.BlobStoreManagerImpl.create(BlobStoreManagerImpl.java:203)
      at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
      at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:272)

       Expected: If we're going to warn about nested blob stores, it should be possible to fix them within the product without destroying them.

      Workaround: Move the blob store to a new location on disk, e.g. "mv sonatype-work/blobs/default/fubar sonatype-work/blobs/fubar", then recreate the blob store with the same name it had before, and the new location. Or alternatively, a creating a symlink to a new location will work, and recreating the blob store with the path to the symlink.

       

        Attachments

          Activity

            People

            Assignee:
            iudovika Igor Udovika
            Reporter:
            rseddon Rich Seddon
            Last Updated By:
            Joe Tom Joe Tom
            Team:
            NXRM - Rocket Raccoon
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                tigCommentSecurity.panel-title