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

WARN BrowseNodeEntityAdapter RetryUpsertException Node already has an asset DB name component when rebuilding or browsing tree nodes

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 3.7.1, 3.15.2, 3.19.1, 3.20.1
    • Fix Version/s: None
    • Component/s: Browse Storage

      Description

      Log messages similar to the below may be seen in your nexus application log or task logs related to browse tree rebuilding.

      2018-01-15 15:31:44,513+0100 WARN [event-10-thread-10515] anonymous org.sonatype.nexus.repository.browse.internal.BrowseNodeManager - Problem generating browse nodes for Asset{metadata=AttachedEntityMetadata{schema=asset, document=#27:5940564{bucket:#17:28,format:maven2,last_updated:Mon Jan 15 15:31:41 CET 2018,attributes:[5],component:null,name:org/apache/commons/commons-lang3/maven-metadata.xml,size:578,content_type:application/xml,created_by:anonymous,created_by_ip:10.252.224.36,blob_ref:default@41C4E904-CCB7359A-3056945C-A04D87F5-EA169947:4c9e61c8-8097-4e22-91c2-2f43882f3121,last_downloaded:Mon Jan 15 15:31:41 CET 2018,blob_created:Mon Jan 15 15:31:41 CET 2018,blob_updated:Mon Jan 15 15:31:41 CET 2018} v1}, name=org/apache/commons/commons-lang3/maven-metadata.xml}
      org.sonatype.nexus.repository.storage.BrowseNodeEntityAdapter$RetryUpsertException: Node already has an asset
      DB name="component"
      at org.sonatype.nexus.repository.storage.BrowseNodeEntityAdapter.createAssetNode(BrowseNodeEntityAdapter.java:266)
      at org.sonatype.nexus.repository.storage.BrowseNodeStoreImpl.lambda$1(BrowseNodeStoreImpl.java:132)
      at org.sonatype.nexus.orient.transaction.OrientOperations.lambda$2(OrientOperations.java:63)
      at org.sonatype.nexus.transaction.OperationPoint.lambda$0(OperationPoint.java:53)
      at org.sonatype.nexus.transaction.OperationPoint.proceed(OperationPoint.java:64)
      at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
      at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:200)
      at org.sonatype.nexus.transaction.Operations.run(Operations.java:155)
      at org.sonatype.nexus.orient.transaction.OrientOperations.run(OrientOperations.java:63)
      at org.sonatype.nexus.repository.storage.BrowseNodeStoreImpl.createAssetNode(BrowseNodeStoreImpl.java:132)
      at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
      at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270)
      at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
      at org.sonatype.nexus.repository.browse.internal.BrowseNodeManager.createBrowseNodes(BrowseNodeManager.java:106)
      at org.sonatype.nexus.repository.browse.internal.BrowseNodeManager.createFromAsset(BrowseNodeManager.java:77)
      at org.sonatype.nexus.repository.browse.internal.BrowseNodeEventHandler.on(BrowseNodeEventHandler.java:58)
      at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
      at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
      at org.sonatype.nexus.thread.internal.MDCAwareRunnable.run(MDCAwareRunnable.java:40)
      at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
      at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
      

      Cause

      Certain repository format files are prone to highly concurrent create/delete/create/etc... requests for what is effectively the same asset (in both cases triggered by cache invalidation as assets come and go). Some examples are:

      • Maven 2 maven-metadata.xml fiiles
      • npm format "all" resource

      Resolution

      We intend to eventually take steps to minimize or eliminate these types of WARN messages from product. However there are no known critical failures caused by these messages so they can be ignored for the most part.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              rseddon Rich Seddon
              Last Updated By:
              Joe Tom
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title