You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Denis Chudov (Jira)" <ji...@apache.org> on 2021/03/26 09:00:00 UTC

[jira] [Created] (IGNITE-14423) Node failure caused by AssertionError: Transaction does not own lock for update

Denis Chudov created IGNITE-14423:
-------------------------------------

             Summary: 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


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)