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

Prefix file update of procurement repository can cause nexus startup to take an extremely long time

Details

    • Sprint 14

    Description

      This thread blocked startup for at least 30 minutes. I finally had to go in and have them manually disable discovery in the nexus.xml file for the affected repository.

      I see a couple of potential problems here. First this event handler shouldn't be run on jetty startup thread. Second, it looks like there may be unnecessary work may be done by the walker? Why is it reading files to get top two levels of a directory listing?

      jvm 1 | "jetty-main-thread-1" prio=10 tid=0x00002aaabc2c4800 nid=0x6e8a runnable [0x00000000418ba000]
      jvm 1 | java.lang.Thread.State: RUNNABLE
      jvm 1 | at java.io.FileInputStream.open(Native Method)
      jvm 1 | at java.io.FileInputStream.<init>(FileInputStream.java:146)
      jvm 1 | at org.sonatype.nexus.proxy.item.FileContentLocator.getInputStream(FileContentLocator.java:80)
      jvm 1 | at org.sonatype.nexus.proxy.item.FileContentLocator.getContent(FileContentLocator.java:107)
      jvm 1 | at org.sonatype.nexus.proxy.item.DefaultLinkPersister.getLinkPrefixBytes(DefaultLinkPersister.java:108)
      jvm 1 | at org.sonatype.nexus.proxy.item.DefaultLinkPersister.isLinkContent(DefaultLinkPersister.java:58)
      jvm 1 | at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSLocalRepositoryStorage.retrieveItemFromFile(DefaultFSLocalRepositoryStorage.java:214)
      jvm 1 | at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSLocalRepositoryStorage.listItems(DefaultFSLocalRepositoryStorage.java:430)
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractRepository.doListItems(AbstractRepository.java:1234)
      jvm 1 | at org.sonatype.nexus.proxy.maven.AbstractMavenRepository.doListItems(AbstractMavenRepository.java:506)
      jvm 1 | at org.sonatype.nexus.proxy.repository.AbstractRepository.list(AbstractRepository.java:1070)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:207)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:226)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:226)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:226)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:226)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walkRecursive(DefaultWalker.java:226)
      jvm 1 | at org.sonatype.nexus.proxy.walker.DefaultWalker.walk(DefaultWalker.java:90)
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.LocalContentDiscovererImpl.discoverLocalContent(LocalContentDiscovererImpl.java:83)
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.updateProxyPrefixFile(ManagerImpl.java:591)
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.forceProxyQuickUpdatePrefixFile(ManagerImpl.java:383)
      jvm 1 | at com.sonatype.nexus.procurement.ProcurementAutoroutingEventHandler.inspect(ProcurementAutoroutingEventHandler.java:90)
      jvm 1 | at org.sonatype.nexus.events.EventSubscriberHost$EventInspectorAdapter.inspect(EventSubscriberHost.java:223)
      jvm 1 | at org.sonatype.nexus.events.EventSubscriberHost$EventInspectorAdapter.on(EventSubscriberHost.java:214)
      jvm 1 | at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:606)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventHandler.handleEvent(EventHandler.java:80)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.dispatch(EventBus.java:329)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.DefaultGuavaEventBus.dispatch(DefaultGuavaEventBus.java:34)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.ReentrantGuavaEventBus.dispatchQueuedEvents(ReentrantGuavaEventBus.java:57)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.post(EventBus.java:281)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.DefaultEventBus.post(DefaultEventBus.java:78)
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.startup(ManagerImpl.java:200)
      jvm 1 | at org.sonatype.nexus.proxy.maven.routing.internal.ManagerImpl.onNexusStartedEvent(ManagerImpl.java:995)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      jvm 1 | at java.lang.reflect.Method.invoke(Method.java:606)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventHandler.handleEvent(EventHandler.java:80)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:49)
      jvm 1 | - locked <0x0000000712ebf598> (a org.sonatype.sisu.goodies.eventbus.internal.guava.SynchronizedEventHandler)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.dispatch(EventBus.java:329)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.DefaultGuavaEventBus.dispatch(DefaultGuavaEventBus.java:34)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.ReentrantGuavaEventBus.dispatchQueuedEvents(ReentrantGuavaEventBus.java:57)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.guava.EventBus.post(EventBus.java:281)
      jvm 1 | at org.sonatype.sisu.goodies.eventbus.internal.DefaultEventBus.post(DefaultEventBus.java:78)
      jvm 1 | at org.sonatype.nexus.NxApplication.doStart(NxApplication.java:167)
      jvm 1 | at org.sonatype.sisu.goodies.lifecycle.LifecycleSupport$Handler.doStart(LifecycleSupport.java:70)
      jvm 1 | at org.sonatype.sisu.goodies.lifecycle.LifecycleHandlerContext$MainMap_Starting.started(LifecycleHandlerContext.java:255)
      jvm 1 | at org.sonatype.sisu.goodies.lifecycle.LifecycleHandlerContext.started(LifecycleHandlerContext.java:57)
      jvm 1 | - locked <0x0000000707193da8> (a org.sonatype.sisu.goodies.lifecycle.LifecycleHandlerContext)
      jvm 1 | at org.sonatype.sisu.goodies.lifecycle.LifecycleSupport.start(LifecycleSupport.java:129)
      jvm 1 | - locked <0x0000000707193d98> (a org.sonatype.sisu.goodies.common.Mutex)
      jvm 1 | at org.sonatype.nexus.web.NexusBooterListener.contextInitialized(NexusBooterListener.java:37)
      jvm 1 | at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:775)
      jvm 1 | at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
      jvm 1 | at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:767)
      jvm 1 | at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
      jvm 1 | at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1252)
      jvm 1 | at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710)
      jvm 1 | at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494)
      jvm 1 | at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
      jvm 1 | - locked <0x0000000706440770> (a java.lang.Object)
      jvm 1 | at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
      jvm 1 | at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
      jvm 1 | - locked <0x00000007064c1948> (a java.lang.Object)
      jvm 1 | at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
      jvm 1 | at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
      jvm 1 | - locked <0x00000007064c17e0> (a java.lang.Object)
      jvm 1 | at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
      jvm 1 | at org.eclipse.jetty.server.Server.doStart(Server.java:282)
      jvm 1 | at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
      jvm 1 | - locked <0x0000000706440890> (a java.lang.Object)
      jvm 1 | at org.sonatype.sisu.jetty.Jetty8$JettyWrapperThread.run(Jetty8.java:145)

      Attachments

        Issue Links

          Activity

            People

              plynch Peter Lynch
              rseddon Rich Seddon
              Peter Lynch Peter Lynch
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                tigCommentSecurity.panel-title