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

OBR virtual repository metadata update fails when triggered by smart proxy download immediately

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.8
    • Fix Version/s: 2.8.1
    • Component/s: OBR, Smart Proxy
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Sprint 17

      Description

      A virtual OBR repository shadowing a maven release proxy repository is not able to update it's metadata in response to a smart proxy preemptive fetch due to lack of privileges.

      2014-05-01 13:07:19,745-0500 WARN [esh-1-thread-19] *SYSTEM org.sonatype.nexus.obr.shadow.ObrShadowRepository - Could not sync shadow ObrShadowRepository(id=obv) for event RepositoryItemEventCacheUpdate(sender="abc" [id=abc], abc:/com/osgiknowhow/sandbox/pig-latin-client/1.0.1/pig-latin-client-1.0.1.jar)
      org.sonatype.nexus.proxy.StorageException: A storage exception occured!
      at org.sonatype.nexus.obr.util.ObrUtils.updateObr(ObrUtils.java:323) ~[na:na]
      at org.sonatype.nexus.obr.shadow.ObrShadowRepository.updateLink(ObrShadowRepository.java:145) ~[na:na]
      at org.sonatype.nexus.obr.shadow.ObrShadowRepository.createLink(ObrShadowRepository.java:124) ~[na:na]
      at org.sonatype.nexus.proxy.repository.AbstractShadowRepository.onRepositoryItemEvent(AbstractShadowRepository.java:113) ~[nexus-core-2.8.0-05.jar:2.8.0-05]
      at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) ~[na:na]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
      at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
      at org.sonatype.sisu.goodies.eventbus.internal.guava.EventHandler.handleEvent(EventHandler.java:80) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.dispatch(EventBus.java:329) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.sisu.goodies.eventbus.internal.DefaultGuavaEventBus.dispatch(DefaultGuavaEventBus.java:34) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.sisu.goodies.eventbus.internal.ReentrantGuavaEventBus.dispatchQueuedEvents(ReentrantGuavaEventBus.java:57) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.post(EventBus.java:281) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.sisu.goodies.eventbus.internal.DefaultEventBus.post(DefaultEventBus.java:78) [goodies-eventbus-1.9.jar:1.9]
      at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doCacheItem(AbstractProxyRepository.java:879) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doCacheItem(AbstractMavenRepository.java:482) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.maven.maven2.M2Repository.doCacheItem(M2Repository.java:231) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveRemoteItem(AbstractProxyRepository.java:1364) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem0(AbstractProxyRepository.java:1103) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem(AbstractProxyRepository.java:986) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doRetrieveArtifactItem(AbstractMavenRepository.java:408) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doRetrieveItem(AbstractMavenRepository.java:391) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.maven.maven2.M2Repository.doRetrieveItem(M2Repository.java:395) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:757) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at com.sonatype.nexus.plugins.smartproxy.event.internal.handler.ItemHandlerSupport.fetchItem(ItemHandlerSupport.java:190) [nexus-smartproxy-plugin-2.8.0-05/:na]
      at com.sonatype.nexus.plugins.smartproxy.event.internal.handler.ItemHandlerSupport.doFetchItem(ItemHandlerSupport.java:205) [nexus-smartproxy-plugin-2.8.0-05/:na]
      at com.sonatype.nexus.plugins.smartproxy.event.internal.handler.ItemHandlerSupport.access$000(ItemHandlerSupport.java:48) [nexus-smartproxy-plugin-2.8.0-05/:na]
      at com.sonatype.nexus.plugins.smartproxy.event.internal.handler.ItemHandlerSupport$PreemptiveFetchItemEvent.perform(ItemHandlerSupport.java:254) [nexus-smartproxy-plugin-2.8.0-05/:na]
      at com.sonatype.nexus.plugins.smartproxy.event.internal.handler.ItemHandlerSupport$PreemptiveFetchItemEventInspector.inspect(ItemHandlerSupport.java:270) [nexus-smartproxy-plugin-2.8.0-05/:na]
      at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) ~[na:na]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
      at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
      at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [guava-16.0.1.jar:na]
      at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [guava-16.0.1.jar:na]
      at com.google.common.eventbus.AsyncEventBus.access$001(AsyncEventBus.java:34) [guava-16.0.1.jar:na]
      at com.google.common.eventbus.AsyncEventBus$1.run(AsyncEventBus.java:117) [guava-16.0.1.jar:na]
      at org.sonatype.nexus.threads.MDCAwareRunnable.run(MDCAwareRunnable.java:41) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) [shiro-core-1.2.2.jar:1.2.2]
      at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) [shiro-core-1.2.2.jar:1.2.2]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_55]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_55]
      at java.lang.Thread.run(Thread.java:745) [na:1.7.0_55]
      Caused by: org.sonatype.nexus.proxy.StorageException: A storage exception occured!
      at org.sonatype.nexus.obr.util.ObrUtils.retrieveObrItem(ObrUtils.java:178) ~[na:na]
      at org.sonatype.nexus.obr.util.ObrUtils.updateObr(ObrUtils.java:301) ~[na:na]
      ... 40 common frames omitted
      Caused by: org.sonatype.nexus.proxy.AccessDeniedException: Access denied on repository ID='obv', path='/.meta/obr.xml', action='read'!
      at org.sonatype.nexus.proxy.access.DefaultAccessManager.decide(DefaultAccessManager.java:48) ~[nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractRepository.checkConditions(AbstractRepository.java:1174) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:587) [nexus-core-2.8.0-05.jar:2.8.0-05]
      at org.sonatype.nexus.obr.util.ObrUtils.retrieveObrItem(ObrUtils.java:166) ~[na:na]
      ... 41 common frames omitted

        Attachments

        1. nexus-2.7.2-03-NEXUS-6564.patch
          2 kB
        2. nexus-obr-plugin-2.7.2-03.jar
          124 kB
        3. work-8081.tgz
          11 kB
        4. work-8083.tgz
          11 kB

          Activity

            People

            Assignee:
            rseddon Rich Seddon
            Reporter:
            rseddon Rich Seddon
            Last Updated By:
            Peter Lynch Peter Lynch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                Time Tracking

                Estimated:
                Original Estimate - 8h
                8h
                Remaining:
                Remaining Estimate - 8h
                8h
                Logged:
                Time Spent - Not Specified
                Not Specified

                  tigCommentSecurity.panel-title