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

Strict Checksum enforcement breaks Automatic Routing

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.4
    • Fix Version/s: 2.5
    • Component/s: Routing
    • Labels:
      None

      Description

      When setting a checksum policy of "strict" the download of the prefix file for automatic routing will fail with

      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - eu.medsea.mimeutil.MimeUtil2 - Retrieved MIME types [text/plain]
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.sonatype.nexus.proxy.maven.ChecksumContentValidator - Item checksums (SHA1, MD5) remotely unavailable central:/.meta/prefixes.txt
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.sonatype.nexus.proxy.maven.ChecksumContentValidator - Validation failed due: The artifact /.meta/prefixes.txt has no remote checksum in repository central! The checksumPolicy of repository forbids downloading of it.
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.sonatype.nexus.proxy.maven.maven2.M2Repository - Failed mirror URL:https://secure.central.sonatype.com/maven2/
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.eclipse.jetty.webapp.WebAppClassLoader - loaded class org.sonatype.nexus.proxy.maven.ChecksumContentValidator from WebAppClassLoader=Sonatype Nexus Professional@17a6a352
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.eclipse.jetty.webapp.WebAppClassLoader - loaded class org.sonatype.nexus.proxy.maven.AbstractChecksumContentValidator from WebAppClassLoader=Sonatype Nexus Professional@17a6a352
      jvm 1 | 2013-04-02 09:37:59 DEBUG [ar-4-thread-2 ] - org.sonatype.nexus.proxy.maven.maven2.M2Repository - null
      jvm 1 | java.lang.NullPointerException: null
      jvm 1 | at org.sonatype.nexus.proxy.maven.ChecksumContentValidator.cleanup(ChecksumContentValidator.java:78) ~[nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.AbstractChecksumContentValidator.isRemoteItemContentValid(AbstractChecksumContentValidator.java:95) ~[nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doValidateRemoteItemContent(AbstractProxyRepository.java:1438) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveRemoteItem(AbstractProxyRepository.java:1585) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem0(AbstractProxyRepository.java:1280) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem(AbstractProxyRepository.java:1155) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doRetrieveItem(AbstractMavenRepository.java:431) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.maven2.M2Repository.doRetrieveItem(M2Repository.java:431) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:836) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.RemotePrefixFileStrategy.retrieveFromRemoteIfExists(RemotePrefixFileStrategy.java:136) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.RemotePrefixFileStrategy.discover(RemotePrefixFileStrategy.java:81) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.RemoteContentDiscovererImpl.discoverRemoteContent(RemoteContentDiscovererImpl.java:78) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.RemoteContentDiscovererImpl.discoverRemoteContent(RemoteContentDiscovererImpl.java:64) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.updateProxyPrefixFile(ManagerImpl.java:602) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.updateAndPublishPrefixFile(ManagerImpl.java:541) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.UpdateRepositoryRunnable.doRun(UpdateRepositoryRunnable.java:70) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.task.RunnableSupport.run(RunnableSupport.java:75) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.task.CancelableRunnableSupport.run(CancelableRunnableSupport.java:82) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.task.executor.ConstrainedExecutorImpl$CancelableRunnableWrapper.run(ConstrainedExecutorImpl.java:199) [nexus-core-2.4.0-07.jar:2.4.0-07]
      jvm 1 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_17]
      jvm 1 | at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_17]
      jvm 1 | at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_17]

      This breaks the automatic routing feature.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              alin Alin Dreghiciu
              Reporter:
              simpligility Manfred Moser
              Last Updated By:
              Peter Lynch Peter Lynch
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title