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

"Node already has an asset" for browse tree rebuild should not fail Transactions status check

    XMLWordPrintable

    Details

    • Notability:
      2

      Description

      When a browse tree rebuild take place, the following warning message can be observed in the nexus log:

      2020-05-11 15:30:55,608+0100 WARN  [quartz-6-thread-1] *SYSTEM org.sonatype.nexus.transaction.RetryController - Exceeded retry limit: 8/8 (org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeCollisionException: Node already has an asset2020-05-11 15:30:55,608+0100 WARN  [quartz-6-thread-1] *SYSTEM org.sonatype.nexus.transaction.RetryController - Exceeded retry limit: 8/8 (org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeCollisionException: Node already has an asset DB name="component")2020-05-11 15:30:55,609+0100 WARN  [quartz-6-thread-1] *SYSTEM org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeManager - Problem generating browse nodes for Asset{metadata=AttachedEntityMetadata{schema=asset, document=#30:11437{bucket:#22:2,format:pypi,last_updated:Sun May 10 18:19:36 BST 2020,attributes:[6],component:#28:4937,name:packages/semver/2.10.0/semver-2.10.0-py2.py3-none-any.whl,size:12199,content_type:application/zip,created_by:anonymous,created_by_ip:10.55.88.189,blob_ref:nfs-pypi@F11024A5-9BFB8A52-C349C761-A6A9797C-6A57EFF4:828aa981-6c57-4fd3-9fc4-4841ada9922d,last_downloaded:Sun May 10 18:19:36 BST 2020,blob_created:Sun May 10 18:19:36 BST 2020,blob_updated:Sun May 10 18:19:36 BST 2020} v2}, name=packages/semver/2.10.0/semver-2.10.0-py2.py3-none-any.whl}org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeCollisionException: Node already has an asset DB name="component" at org.sonatype.nexus.repository.browse.internal.orient.BrowseNodeEntityAdapter.createAssetNode(BrowseNodeEntityAdapter.java:280) at org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeStoreImpl.lambda$1(OrientBrowseNodeStoreImpl.java:159) at org.sonatype.nexus.orient.transaction.OrientOperations.lambda$2(OrientOperations.java:62) 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:57) at org.sonatype.nexus.transaction.Operations.proceedWithTransaction(Operations.java:232) at org.sonatype.nexus.transaction.Operations.transactional(Operations.java:223) at org.sonatype.nexus.transaction.Operations.run(Operations.java:175) at org.sonatype.nexus.orient.transaction.OrientOperations.run(OrientOperations.java:62) at org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeStoreImpl.createAssetNode(OrientBrowseNodeStoreImpl.java:159) 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 org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeStoreImpl.createAssetNode(OrientBrowseNodeStoreImpl.java:1) at org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeManager.createBrowseNodes(OrientBrowseNodeManager.java:137) at org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeManager.lambda$0(OrientBrowseNodeManager.java:121) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.sonatype.nexus.repository.browse.internal.orient.OrientBrowseNodeManager.createFromAssets(OrientBrowseNodeManager.java:121) at org.sonatype.nexus.repository.browse.internal.orient.OrientRebuildBrowseNodeService.rebuild(OrientRebuildBrowseNodeService.java:120) at org.sonatype.nexus.repository.browse.internal.RebuildBrowseNodesTask.execute(RebuildBrowseNodesTask.java:50) at org.sonatype.nexus.repository.RepositoryTaskSupport.execute(RepositoryTaskSupport.java:79) at org.sonatype.nexus.scheduling.TaskSupport.call(TaskSupport.java:100) at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.doExecute(QuartzTaskJob.java:143) at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.execute(QuartzTaskJob.java:106) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.sonatype.nexus.quartz.internal.QuartzThreadPool.lambda$0(QuartzThreadPool.java:145) 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.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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)
      

      There are not any known critical failures caused by these messages so users have been advised to ignore them for the most part however these messages do lead to the Transactions system check to fail/alert with "excessive retries".

      Expected:
      If these warning messages do not cause a system issue, then they should not cause the Transactions system check to fail/alert.
       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mcculls Stuart McCulloch
              Reporter:
              hardeepn Hardeep Nagra
              Last Updated By:
              Wes Wannemacher
              Team:
              NXRM - Operations/Groot
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title

                    PagerDuty