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

HA - errors when pushing nuget packages

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Fixed
    • Affects Version/s: 3.8.0
    • Fix Version/s: 3.10.0
    • Component/s: HA, NuGet
    • Labels:

      Description

      Pushing any nuget package to a fresh 3 node HA cluster causes errors.

      In particular, the warning:

      2018-02-22 14:27:13,987-0700 WARN [Timer-0] *SYSTEM ROOT - [04671D75-A5F0F498-310CDB38-0EAE015E-61C1ABC1] Auto repair cannot find a winner for record #52:0 and the following groups of contents:

      Is repeated on the node receiving the change. Eventually this exception is generated:

      org.sonatype.nexus.repository.storage.RetryDeniedException: Reached max retries: 8/8
      at org.sonatype.nexus.repository.storage.StorageTxImpl.allowRetry(StorageTxImpl.java:224)
      at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
      at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:69)
      at com.sun.proxy.$Proxy219.allowRetry(Unknown Source)
      at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:81)
      at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54)
      at com.sonatype.nexus.repository.nuget.internal.NugetLocalGalleryFacetSupport.maintainAggregateInfo(NugetLocalGalleryFacetSupport.java:574)
      at com.sonatype.nexus.repository.nuget.internal.NugetLocalGalleryFacetSupport.on(NugetLocalGalleryFacetSupport.java:561)
      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)

      ...
      Caused by: com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot UPDATE the record #53:0 because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v2 your=v1)
      DB name="component"
      at com.orientechnologies.orient.core.conflict.OVersionRecordConflictStrategy.checkVersions(OVersionRecordConflictStrategy.java:56)
      at com.orientechnologies.orient.core.conflict.OVersionRecordConflictStrategy.onUpdate(OVersionRecordConflictStrategy.java:43)
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkAndIncrementVersion(OAbstractPaginatedStorage.java:4529)
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateRecord(OAbstractPaginatedStorage.java:4005)
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commitEntry(OAbstractPaginatedStorage.java:4591)
      at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:1856)
      at com.orientechnologies.orient.server.distributed.impl.ODistributedStorage.commit(ODistributedStorage.java:1379)
      at com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:541)
      at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:99)
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2922)
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2884)
      at com.orientechnologies.orient.server.distributed.impl.task.OTxTask.execute(OTxTask.java:132)
      at com.orientechnologies.orient.server.distributed.impl.ODistributedAbstractPlugin$1.call(ODistributedAbstractPlugin.java:607)
      at com.orientechnologies.orient.core.db.OScenarioThreadLocal.executeAsDistributed(OScenarioThreadLocal.java:70)
      at com.orientechnologies.orient.server.distributed.impl.ODistributedAbstractPlugin.executeOnLocalNode(ODistributedAbstractPlugin.java:603)
      at com.sonatype.nexus.hazelcast.internal.orient.SharedHazelcastPlugin.lambda$0(SharedHazelcastPlugin.java:89)
      at org.sonatype.nexus.orient.entity.EntityHook.asRemote(EntityHook.java:88)
      at com.sonatype.nexus.hazelcast.internal.orient.SharedHazelcastPlugin.executeOnLocalNode(SharedHazelcastPlugin.java:89)
      at com.orientechnologies.orient.server.distributed.impl.ODistributedWorker.onMessage(ODistributedWorker.java:359)
      at com.orientechnologies.orient.server.distributed.impl.ODistributedWorker.run(ODistributedWorker.java:127)

      The other nodes start generating this exception:

      2018-02-22 14:27:12,316-0700 ERROR [OrientDB DistributedWorker node=77BE2C7E-5B5EAAFD-66DFE883-4779D340-EF5532F3 db=component id=0] *SYSTEM org.sonatype.nexus.orient.entity.EntityHook - Failed to post entity events
      java.lang.IllegalStateException: Replication already in progress
      at com.google.common.base.Preconditions.checkState(Preconditions.java:444)
      at org.sonatype.nexus.common.event.EventHelper.asReplicating(EventHelper.java:58)
      at org.sonatype.nexus.orient.entity.EntityHook.flushEvents(EntityHook.java:243)
      at org.sonatype.nexus.orient.entity.EntityHook.onAfterTxCommit(EntityHook.java:160)
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2963)
      at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2884)
      at org.sonatype.nexus.repository.storage.StorageTxImpl.commit(StorageTxImpl.java:181)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      ...

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mbucher Michael Bucher
              Reporter:
              ataylor Andrew Taylor
              Last Updated By:
              Joe Tom Joe Tom
              Team:
              Nexus - Platform
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title