[ https://issues.apache.org/jira/browse/IGNITE-14423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Denis Chudov updated IGNITE-14423: ---------------------------------- Reviewer: Vyacheslav Koptilin (was: Slava Koptilin) > Node failure caused by AssertionError: Transaction does not own lock for > update > ------------------------------------------------------------------------------- > > Key: IGNITE-14423 > URL: https://issues.apache.org/jira/browse/IGNITE-14423 > Project: Ignite > Issue Type: Bug > Reporter: Denis Chudov > Assignee: Denis Chudov > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Scenario: > 1. Start 3 servers > 2. Start 2 clients > 3. Start two OPTIMISTIC transactions with the same key from different client > nodes > 4. Transfer transactions to PREPARED STATE on primary node > 5. Stop one client node(whose transaction changed state to PREPARED last) > > Error in log: > {code:java} > [2021-03-03 > 08:52:59,807][ERROR][sys-#499%transactions.TxRecoveryWithConcurrentRollbackTest1%][GridNearTxLocal] > Failed completing the transaction: [commit=true, tx=GridDhtTxLocal > [nearNodeId=29551b46-74ef-4e35-af4a-d97809cc5260, > nearFutId=08b25a6f771-eec14fa0-02ef-46b9-97d9-0f2b7c851ddb, nearMiniId=1, > nearFinFutId=null, nearFinMiniId=0, nearXidVer=GridCacheVersion > [topVer=226230774, order=1614750773047, nodeOrder=4], lb=tx, > super=GridDhtTxLocalAdapter [nearOnOriginatingNode=false, > nearNodes=KeySetView [], dhtNodes=KeySetView [], explicitLock=false, > super=IgniteTxLocalAdapter [completedBase=null, sndTransformedVals=false, > depEnabled=false, txState=IgniteTxStateImpl [activeCacheIds=[1544803905], > recovery=false, mvccEnabled=false, mvccCachingCacheIds=[], txMap=ArrayList > [IgniteTxEntry [txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=1, val=1, > hasValBytes=true], cacheId=1544803905], val=TxEntryValueHolder > [val=CacheObjectImpl [val=null, hasValBytes=true], op=CREATE], > prevVal=TxEntryValueHolder [val=null, op=NOOP], oldVal=TxEntryValueHolder > [val=null, op=NOOP], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, > conflictVer=null, explicitVer=null, dhtVer=null, > filters=CacheEntryPredicate[] [], filtersPassed=false, filtersSet=false, > entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=1, > super=GridDistributedCacheEntry [super=GridCacheMapEntry > [key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], val=null, > ver=GridCacheVersion [topVer=226230774, order=1614750774035, nodeOrder=2], > hash=1, extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=LinkedList > [GridCacheMvccCandidate [nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, > ver=GridCacheVersion [topVer=226230774, order=1614750774033, nodeOrder=2], > threadId=364, id=5, topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], > reentry=null, otherNodeId=207c7f09-21a9-4b99-b631-3304a522b002, > otherVer=GridCacheVersion [topVer=226230774, order=1614750774032, > nodeOrder=5], mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, > serOrder=null, key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], > masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null]], rmts=null]], flags=3]]], prepared=1, > locked=false, nodeId=null, locMapped=false, expiryPlc=null, > transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null, > xidVer=null]]], super=IgniteTxAdapter [xidVer=GridCacheVersion > [topVer=226230774, order=1614750774035, nodeOrder=2], writeVer=null, > implicit=false, loc=true, threadId=686, startTime=1614750774753, > nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, isolation=READ_COMMITTED, > concurrency=OPTIMISTIC, timeout=5000, sysInvalidate=true, sys=false, plc=2, > commitVer=GridCacheVersion [topVer=226230774, order=1614750774035, > nodeOrder=2], finalizing=RECOVERY_FINISH, invalidParts=null, state=UNKNOWN, > timedOut=false, topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], > mvccSnapshot=null, skipCompletedVers=false, parentTx=null, duration=5048ms, > onePhaseCommit=false], size=1]]]] > class > org.apache.ignite.internal.transactions.IgniteTxHeuristicCheckedException: > Committing a transaction has produced runtime exception > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter.heuristicException(IgniteTxAdapter.java:813) > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:969) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocalAdapter.localFinish(GridDhtTxLocalAdapter.java:794) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.localFinish(GridDhtTxLocal.java:605) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.finishTx(GridDhtTxLocal.java:477) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.commitDhtLocalAsync(GridDhtTxLocal.java:534) > at > org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.commitAsync(GridDhtTxLocal.java:542) > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.finishTxOnRecovery(IgniteTxManager.java:2370) > at > org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.onDone(GridCacheTxRecoveryFuture.java:492) > at > org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.onDone(GridCacheTxRecoveryFuture.java:51) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:475) > at > org.apache.ignite.internal.util.future.GridCompoundFuture.checkComplete(GridCompoundFuture.java:284) > at > org.apache.ignite.internal.util.future.GridCompoundFuture.markInitialized(GridCompoundFuture.java:273) > at > org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.proceedPrepare(GridCacheTxRecoveryFuture.java:354) > at > org.apache.ignite.internal.processors.cache.distributed.GridCacheTxRecoveryFuture.prepare(GridCacheTxRecoveryFuture.java:252) > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.commitIfPrepared(IgniteTxManager.java:2420) > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager$TxRecoveryInitRunnable.run(IgniteTxManager.java:3218) > at > org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7190) > at > org.apache.ignite.internal.processors.closure.GridClosureProcessor$1.body(GridClosureProcessor.java:826) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) > 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) > Caused by: java.lang.AssertionError: Transaction does not own lock for update > [entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=1, > super=GridDistributedCacheEntry [super=GridCacheMapEntry > [key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], val=null, > ver=GridCacheVersion [topVer=0, order=0, nodeOrder=0], hash=1, > extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=LinkedList > [GridCacheMvccCandidate [nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, > ver=GridCacheVersion [topVer=226230774, order=1614750774033, nodeOrder=2], > threadId=364, id=5, topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], > reentry=null, otherNodeId=207c7f09-21a9-4b99-b631-3304a522b002, > otherVer=GridCacheVersion [topVer=226230774, order=1614750774032, > nodeOrder=5], mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, > serOrder=null, key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], > masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null], GridCacheMvccCandidate > [nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, ver=GridCacheVersion > [topVer=226230774, order=1614750774035, nodeOrder=2], threadId=686, id=6, > topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], reentry=null, > otherNodeId=29551b46-74ef-4e35-af4a-d97809cc5260, otherVer=GridCacheVersion > [topVer=226230774, order=1614750773047, nodeOrder=4], mappedDhtNodes=null, > mappedNearNodes=null, ownerVer=GridCacheVersion [topVer=226230774, > order=1614750774033, nodeOrder=2], serOrder=null, key=KeyCacheObjectImpl > [part=1, val=1, hasValBytes=true], > masks=local=1|owner=0|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null]], rmts=null]], flags=2]]], tx=GridDhtTxLocal > [nearNodeId=29551b46-74ef-4e35-af4a-d97809cc5260, > nearFutId=08b25a6f771-eec14fa0-02ef-46b9-97d9-0f2b7c851ddb, nearMiniId=1, > nearFinFutId=null, nearFinMiniId=0, nearXidVer=GridCacheVersion > [topVer=226230774, order=1614750773047, nodeOrder=4], lb=tx, > super=GridDhtTxLocalAdapter [nearOnOriginatingNode=false, > nearNodes=KeySetView [], dhtNodes=KeySetView [], explicitLock=false, > super=IgniteTxLocalAdapter [completedBase=null, sndTransformedVals=false, > depEnabled=false, txState=IgniteTxStateImpl [activeCacheIds=[1544803905], > recovery=false, mvccEnabled=false, mvccCachingCacheIds=[], txMap=ArrayList > [IgniteTxEntry [txKey=IgniteTxKey [key=KeyCacheObjectImpl [part=1, val=1, > hasValBytes=true], cacheId=1544803905], val=TxEntryValueHolder > [val=CacheObjectImpl [val=null, hasValBytes=true], op=CREATE], > prevVal=TxEntryValueHolder [val=null, op=NOOP], oldVal=TxEntryValueHolder > [val=null, op=NOOP], entryProcessorsCol=null, ttl=-1, conflictExpireTime=-1, > conflictVer=null, explicitVer=null, dhtVer=null, > filters=CacheEntryPredicate[] [], filtersPassed=false, filtersSet=false, > entry=GridDhtCacheEntry [rdrs=ReaderId[] [], part=1, > super=GridDistributedCacheEntry [super=GridCacheMapEntry > [key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], val=null, > ver=GridCacheVersion [topVer=0, order=0, nodeOrder=0], hash=1, > extras=GridCacheMvccEntryExtras [mvcc=GridCacheMvcc [locs=LinkedList > [GridCacheMvccCandidate [nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, > ver=GridCacheVersion [topVer=226230774, order=1614750774033, nodeOrder=2], > threadId=364, id=5, topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], > reentry=null, otherNodeId=207c7f09-21a9-4b99-b631-3304a522b002, > otherVer=GridCacheVersion [topVer=226230774, order=1614750774032, > nodeOrder=5], mappedDhtNodes=null, mappedNearNodes=null, ownerVer=null, > serOrder=null, key=KeyCacheObjectImpl [part=1, val=1, hasValBytes=true], > masks=local=1|owner=1|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null], GridCacheMvccCandidate > [nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, ver=GridCacheVersion > [topVer=226230774, order=1614750774035, nodeOrder=2], threadId=686, id=6, > topVer=AffinityTopologyVersion [topVer=5, minorTopVer=0], reentry=null, > otherNodeId=29551b46-74ef-4e35-af4a-d97809cc5260, otherVer=GridCacheVersion > [topVer=226230774, order=1614750773047, nodeOrder=4], mappedDhtNodes=null, > mappedNearNodes=null, ownerVer=GridCacheVersion [topVer=226230774, > order=1614750774033, nodeOrder=2], serOrder=null, key=KeyCacheObjectImpl > [part=1, val=1, hasValBytes=true], > masks=local=1|owner=0|ready=1|reentry=0|used=0|tx=1|single_implicit=0|dht_local=1|near_local=0|removed=0|read=0, > prevVer=null, nextVer=null]], rmts=null]], flags=2]]], prepared=1, > locked=false, nodeId=null, locMapped=false, expiryPlc=null, > transferExpiryPlc=false, flags=0, partUpdateCntr=0, serReadVer=null, > xidVer=null]]], super=IgniteTxAdapter [xidVer=GridCacheVersion > [topVer=226230774, order=1614750774035, nodeOrder=2], writeVer=null, > implicit=false, loc=true, threadId=686, startTime=1614750774753, > nodeId=b1f1a8e0-e1e8-4084-b9c6-bdd2a2700001, isolation=READ_COMMITTED, > concurrency=OPTIMISTIC, timeout=5000, sysInvalidate=false, sys=false, plc=2, > commitVer=GridCacheVersion [topVer=226230774, order=1614750774035, > nodeOrder=2], finalizing=RECOVERY_FINISH, invalidParts=null, > state=COMMITTING, timedOut=false, topVer=AffinityTopologyVersion [topVer=5, > minorTopVer=0], mvccSnapshot=null, skipCompletedVers=false, parentTx=null, > duration=5037ms, onePhaseCommit=false], size=1]]]] > at > org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerSet(GridCacheMapEntry.java:1488) > at > org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:756) > ... 21 more > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)