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

Slow UI Search for Maven Format when searches are performed against nested group repos members

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 3.15.0, 3.15.1, 3.15.2
    • Fix Version/s: 3.16.0
    • Component/s: Search, UI
    • Labels:

      Description

      For instances with a large number of Maven repositories/components and nested group repositories, slow performance and increased CPU usage are observed when performing UI search. This is observed particularly when performing a Maven format search (UI -> Search -> Maven) which can result in a UI timeout.

      Symptom Example Thread

      The main bottleneck in this case revolves around code in org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.findContainingGroups.

      "elasticsearch[2495741E-FA123881-75320D5A-3CF67A37-ED6EBD5C][search][T#7]" #288 daemon prio=5 os_prio=0 tid=0x00007faed0034000 nid=0x1be runnable [0x00007fae94e95000]
         java.lang.Thread.State: RUNNABLE
      	at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
      	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:77)
      	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:55)
      	at org.sonatype.nexus.repository.maven.internal.group.MavenGroupFacet$$EnhancerByGuice$$563c2aa5.member(<generated>)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.lambda$15(RepositoryManagerImpl.java:436)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$Lambda$412/1057757139.test(Unknown Source)
      	at java.util.Optional.filter(Optional.java:178)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.lambda$3(RepositoryManagerImpl.java:436)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$Lambda$410/265697578.test(Unknown Source)
      	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
      	at java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(ConcurrentHashMap.java:3566)
      	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
      	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
      	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.findContainingGroups(RepositoryManagerImpl.java:438)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.lambda$6(RepositoryManagerImpl.java:445)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$Lambda$415/1397390942.accept(Unknown Source)
      	at java.util.ArrayList.forEach(ArrayList.java:1257)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.findContainingGroups(RepositoryManagerImpl.java:445)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.lambda$6(RepositoryManagerImpl.java:445)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$Lambda$415/1397390942.accept(Unknown Source)
      	at java.util.ArrayList.forEach(ArrayList.java:1257)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.findContainingGroups(RepositoryManagerImpl.java:445)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.findContainingGroups(RepositoryManagerImpl.java:419)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$EnhancerByGuice$$d8f802b5.CGLIB$findContainingGroups$3(<generated>)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$EnhancerByGuice$$d8f802b5$$FastClassByGuice$$f4ae3230.invoke(<generated>)
      	at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
      	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:76)
      	at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
      	at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:272)
      	at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
      	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:77)
      	at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:55)
      	at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl$$EnhancerByGuice$$d8f802b5.findContainingGroups(<generated>)
      	at org.sonatype.nexus.repository.selector.internal.ContentAuthPluginScript.run(ContentAuthPluginScript.java:85)
      

       

       

        Attachments

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            hardeepn Hardeep Nagra
            Last Updated By:
            Peter Lynch
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                tigCommentSecurity.panel-title