Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Medium
-
Resolution: Fixed
-
Affects Version/s: 3.8.0
-
Fix Version/s: 3.10.0
-
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
- relates
-
NEXUS-16852 HA-C with Nexus Firewall evaluations may fail due to OConcurrentModificationException Cannot UPDATE the record because the version is not the latest
-
- Closed
-