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

Property nexus.override.local.storage.whitelist incorrectly set for WIndows path

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.14.15, 2.14.20
    • Fix Version/s: None
    • Component/s: Upgrade
    • Labels:
    • Notability:
      3

      Description

      Issue:

      After upgrading from Nexus 2.14.0 to Nexus 2.14.20, the repository list fails to load in Nexus UI (after next restart). This issue affects Nexus running on Windows and where repository storage has been overridden

       

      Root cause:

      In Nexus 2.14.15, a property nexus.override.local.storage.whitelist as storage locations must be whitelisted to be available for use in a repository configuration. The property get automatically set during the upgrade in nexus.properties, but for Windows path the backslash is not escaped.

       

      Steps to Reproduce:

      1) Install Nexus 2.14.0

      2) Create repo maven-hosted in different storage location  D:\Test\maven-hosted

      3) Upload component to hosted repo to make sure it works

      4) Upgrade to Nexus 2.14.20 by starting Nexus 2.14.20

      5) Checked that following is set automatically by the upgrade.

      nexus.override.local.storage.whitelist=D:\Test\maven-hosted
      

      6) Repo list should load in Nexus UI

      7) Restart Nexus. This time it will read in the nexus.override.local.storage.whitelist

      8)  Repo list fails to load in Nexus UI. The nexus.log has following errors during restart.

      Caused by: java.nio.file.FileSystemNotFoundException: Provider "D" not installed
       at java.nio.file.Paths.get(Paths.java:147)
       at org.sonatype.nexus.proxy.storage.StorageWhitelist.parse(StorageWhitelist.java:73)
       at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
       at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
       at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
       at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
       at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
       at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
       at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
       at org.sonatype.nexus.proxy.storage.StorageWhitelist.<init>(StorageWhitelist.java:52)
       at org.sonatype.nexus.proxy.storage.StorageWhitelist$$FastClassByGuice$$40eb709.newInstance(<generated>)
      

       

      Workaround:

      The solution is to escape the backslash with a backslash

      nexus.override.local.storage.whitelist=D:\\Test\\maven-hosted
      

       

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            msurani Mahendra Surani
            Last Updated By:
            Michael Oliverio Michael Oliverio
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                tigCommentSecurity.panel-title