[ 
https://issues.apache.org/jira/browse/IGNITE-10785?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Kondakov updated IGNITE-10785:
------------------------------------
    Fix Version/s: 2.8

> MVCC: Grid can hang if transaction is failed to rollback
> --------------------------------------------------------
>
>                 Key: IGNITE-10785
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10785
>             Project: Ignite
>          Issue Type: Bug
>          Components: mvcc
>            Reporter: Roman Kondakov
>            Assignee: Roman Kondakov
>            Priority: Major
>              Labels: Hanging, mvcc_stabilization_stage_1, transactions
>             Fix For: 2.8
>
>
> Sometimes grid can hang if transactions is failed to rollback. Reproducer:
>  
> {noformat}
> [2018-12-14 08:48:13,890][WARN 
> ][sys-stripe-9-#12552%transactions.TxRollbackAsyncWithPersistenceTest2%][GridDhtColocatedCache]
>  <test> Failed to acquire lock (transaction has been completed): 
> GridCacheVersion [topVer=156257270, order=1544777270268, nodeOrder=4]
> [2018-12-14 
> 08:48:13,893][ERROR][sys-stripe-9-#12552%transactions.TxRollbackAsyncWithPersistenceTest2%][GridDhtColocatedCache]
>  <test> Failed to rollback the transaction: GridDhtTxLocal 
> [nearNodeId=b4ff2bcc-dc6a-49c2-a2ab-f26bae6b68c1, 
> nearFutId=282d09ca761-8ff10d65-a1d6-4f40-9fd7-afb7afa0b25c, nearMiniId=1, 
> nearFinFutId=382d09ca761-8ff10d65-a1d6-4f40-9fd7-afb7afa0b25c, 
> nearFinMiniId=1, nearXidVer=GridCacheVersion [topVer=156257270, 
> order=1544777270268, nodeOrder=4], lb=null, super=GridDhtTxLocalAdapter 
> [nearOnOriginatingNode=false, nearNodes=KeySetView [], dhtNodes=KeySetView 
> [], explicitLock=false, super=IgniteTxLocalAdapter [completedBase=null, 
> sndTransformedVals=false, depEnabled=false, txState=IgniteTxStateImpl 
> [activeCacheIds=[], recovery=null, mvccEnabled=null, txMap=HashSet []], 
> mvccWaitTxs=null, qryEnlisted=false, forceSkipCompletedVers=false, 
> super=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=156257270, 
> order=1544777270269, nodeOrder=3], writeVer=null, implicit=false, loc=true, 
> threadId=13949, startTime=1544777293884, 
> nodeId=cb0ed489-aa1c-4e7a-a196-3bea9e500002, startVer=GridCacheVersion 
> [topVer=156257270, order=1544777270269, nodeOrder=3], endVer=null, 
> isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=0, 
> sysInvalidate=false, sys=false, plc=2, commitVer=GridCacheVersion 
> [topVer=156257270, order=1544777270269, nodeOrder=3], finalizing=NONE, 
> invalidParts=null, state=ROLLED_BACK, timedOut=false, 
> topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
> mvccSnapshot=MvccSnapshotResponse [futId=82, crdVer=1544777266400, cntr=848, 
> opCntr=1, txs=[640, 769, 706, 387, 707, 708, 582, 646, 583, 586, 847, 596, 
> 660, 724, 661, 598, 599, 603, 667, 731, 685, 494, 686, 688, 561, 629, 570, 
> 766, 639], cleanupVer=263, tracking=0], parentTx=null, duration=0ms, 
> onePhaseCommit=false], size=0]]]
> class org.apache.ignite.IgniteCheckedException: Failed to finish transaction 
> [commit=false, 
> tx=GridDhtTxLocal[xid=df386eba761-00000000-0950-4bf6-0000-000000000003, 
> xidVersion=GridCacheVersion [topVer=156257270, order=1544777270269, 
> nodeOrder=3], concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, 
> state=ROLLED_BACK, invalidate=false, rollbackOnly=true, 
> nodeId=cb0ed489-aa1c-4e7a-a196-3bea9e500002, timeout=0, duration=0]]
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.finishTx(GridDhtTxLocal.java:482)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.rollbackDhtLocalAsync(GridDhtTxLocal.java:588)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.rollbackDhtLocal(GridDhtTxLocal.java:563)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.initTxTopologyVersion(GridDhtTransactionalCacheAdapter.java:2178)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.processNearTxEnlistRequest(GridDhtTransactionalCacheAdapter.java:2016)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter.access$900(GridDhtTransactionalCacheAdapter.java:112)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$14.apply(GridDhtTransactionalCacheAdapter.java:229)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTransactionalCacheAdapter$14.apply(GridDhtTransactionalCacheAdapter.java:227)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1127)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:592)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:391)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:317)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:108)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:307)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1568)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1196)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1092)
>       at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:505)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>       at java.lang.Thread.run(Thread.java:748)
> [2018-12-14 08:48:19,967][WARN 
> ][sys-stripe-14-#12559%transactions.TxRollbackAsyncWithPersistenceTest2%][finish]
>  Received finish request for completed transaction (the message may be too 
> late) [txId=GridCacheVersion [topVer=156257270, order=1544777267977, 
> nodeOrder=2], dhtTxId=null, node=48407150-0d58-4e52-8be2-d91c26f00001, 
> commit=false]
> [2018-12-14 08:48:19,969][WARN 
> ][sys-stripe-23-#12573%transactions.TxRollbackAsyncWithPersistenceTest2%][GridDhtColocatedCache]
>  <test> Failed to acquire lock (transaction has been completed): 
> GridCacheVersion [topVer=156257270, order=1544777267977, nodeOrder=2]
> [2018-12-14 08:48:25,007][WARN ][sys-#12871%client%][GridNearTxLocal] The 
> transaction was forcibly rolled back because a timeout is reached: 
> GridNearTxLocal[xid=68586eba761-00000000-0950-4bf6-0000-000000000004, 
> xidVersion=GridCacheVersion [topVer=156257270, order=1544777270662, 
> nodeOrder=4], concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, 
> state=ROLLED_BACK, invalidate=false, rollbackOnly=true, 
> nodeId=b4ff2bcc-dc6a-49c2-a2ab-f26bae6b68c1, timeout=50, duration=60, 
> label=null]
> [2018-12-14 08:48:25,058][WARN ][sys-#12872%client%][GridNearTxLocal] The 
> transaction was forcibly rolled back because a timeout is reached: 
> GridNearTxLocal[xid=78586eba761-00000000-0950-4bf6-0000-000000000004, 
> xidVersion=GridCacheVersion [topVer=156257270, order=1544777270663, 
> nodeOrder=4], concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, 
> state=MARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=b4ff2bcc-dc6a-49c2-a2ab-f26bae6b68c1, timeout=50, duration=51, 
> label=null]
> [2018-12-14 08:48:25,388][WARN ][sys-#12873%client%][GridNearTxLocal] The 
> transaction was forcibly rolled back because a timeout is reached: 
> GridNearTxLocal[xid=d9586eba761-00000000-0950-4bf6-0000-000000000004, 
> xidVersion=GridCacheVersion [topVer=156257270, order=1544777270685, 
> nodeOrder=4], concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, 
> state=MARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=b4ff2bcc-dc6a-49c2-a2ab-f26bae6b68c1, timeout=50, duration=50, 
> label=null]
> [2018-12-14 08:48:25,442][WARN ][sys-#12874%client%][GridNearTxLocal] The 
> transaction was forcibly rolled back because a timeout is reached: 
> GridNearTxLocal[xid=e9586eba761-00000000-0950-4bf6-0000-000000000004, 
> xidVersion=GridCacheVersion [topVer=156257270, order=1544777270686, 
> nodeOrder=4], concurrency=PESSIMISTIC, isolation=REPEATABLE_READ, 
> state=MARKED_ROLLBACK, invalidate=false, rollbackOnly=true, 
> nodeId=b4ff2bcc-dc6a-49c2-a2ab-f26bae6b68c1, timeout=50, duration=51, 
> label=null]
> [2018-12-14 08:49:46,433][WARN 
> ][grid-timeout-worker-#12482%transactions.TxRollbackAsyncWithPersistenceTest0%][diagnostic]
>  Found long running transaction [startTime=08:48:22.963, 
> curTime=08:49:46.418, tx=GridDhtTxRemote 
> [nearNodeId=51b80ee2-85d7-41fd-8d6b-63dc99a00000, 
> rmtFutId=204f09ca761-8ff10d65-a1d6-4f40-9fd7-afb7afa0b25c, 
> nearXidVer=GridCacheVersion [topVer=156257270, order=1544777270948, 
> nodeOrder=1], storeWriteThrough=false, super=GridDistributedTxRemoteAdapter 
> [explicitVers=null, started=true, commitAllowed=0, 
> txState=IgniteTxRemoteStateImpl [readMap=EmptyMap {}, 
> writeMap=ConcurrentLinkedHashMap {}], skipCompletedVers=false, txLbl=null, 
> super=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=156257270, 
> order=1544777271199, nodeOrder=3], writeVer=null, implicit=false, loc=false, 
> threadId=13444, startTime=1544777302963, 
> nodeId=cb0ed489-aa1c-4e7a-a196-3bea9e500002, startVer=GridCacheVersion 
> [topVer=156257270, order=1544777270948, nodeOrder=1], endVer=null, 
> isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=0, 
> sysInvalidate=false, sys=false, plc=2, commitVer=GridCacheVersion 
> [topVer=156257270, order=1544777271199, nodeOrder=3], finalizing=NONE, 
> invalidParts=null, state=ACTIVE, timedOut=false, 
> topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
> mvccSnapshot=MvccSnapshotWithoutTxs [crdVer=1544777266400, cntr=1776, 
> cleanupVer=263, opCntr=0], parentTx=null, duration=83455ms, 
> onePhaseCommit=false]]]]
> [2018-12-14 08:49:46,441][WARN 
> ][grid-timeout-worker-#12482%transactions.TxRollbackAsyncWithPersistenceTest0%][diagnostic]
>  Found long running transaction [startTime=08:48:22.943, 
> curTime=08:49:46.418, tx=GridNearTxLocal [mappings=IgniteTxMappingsImpl [], 
> nearLocallyMapped=false, colocatedLocallyMapped=false, needCheckBackup=null, 
> hasRemoteLocks=true, trackTimeout=false, lb=wLockTx, mvccTracker=null, 
> mvccOp=true, thread=tx-lock-thread-1, mappings=IgniteTxMappingsImpl [], 
> super=GridDhtTxLocalAdapter [nearOnOriginatingNode=false, 
> nearNodes=KeySetView [], dhtNodes=KeySetView [], explicitLock=false, 
> super=IgniteTxLocalAdapter [completedBase=null, sndTransformedVals=false, 
> depEnabled=false, txState=IgniteTxStateImpl [activeCacheIds=[3556498], 
> recovery=false, mvccEnabled=true, txMap=HashSet []], mvccWaitTxs=null, 
> qryEnlisted=true, forceSkipCompletedVers=false, super=IgniteTxAdapter 
> [xidVer=GridCacheVersion [topVer=156257270, order=1544777270948, 
> nodeOrder=1], writeVer=null, implicit=false, loc=true, threadId=13969, 
> startTime=1544777302943, nodeId=51b80ee2-85d7-41fd-8d6b-63dc99a00000, 
> startVer=GridCacheVersion [topVer=156257270, order=1544777270948, 
> nodeOrder=1], endVer=null, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, timeout=0, sysInvalidate=false, sys=false, plc=2, 
> commitVer=null, finalizing=NONE, invalidParts=null, state=ACTIVE, 
> timedOut=false, topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
> mvccSnapshot=MvccSnapshotResponse [futId=0, crdVer=1544777266400, cntr=1776, 
> opCntr=2, txs=[640, 769, 706, 387, 707, 1347, 708, 1348, 582, 646, 583, 1353, 
> 586, 907, 1547, 596, 660, 724, 661, 598, 599, 603, 667, 731, 1312, 996, 997, 
> 685, 494, 686, 688, 561, 629, 1015, 570, 1598, 639, 1599], cleanupVer=263, 
> tracking=387], parentTx=null, duration=83495ms, onePhaseCommit=false], 
> size=0]]]]
> [2018-12-14 08:49:49,987][WARN 
> ][grid-timeout-worker-#12614%transactions.TxRollbackAsyncWithPersistenceTest1%][diagnostic]
>  Found long running transaction [startTime=08:48:22.963, 
> curTime=08:49:49.986, tx=GridDhtTxRemote 
> [nearNodeId=51b80ee2-85d7-41fd-8d6b-63dc99a00000, 
> rmtFutId=204f09ca761-8ff10d65-a1d6-4f40-9fd7-afb7afa0b25c, 
> nearXidVer=GridCacheVersion [topVer=156257270, order=1544777270948, 
> nodeOrder=1], storeWriteThrough=false, super=GridDistributedTxRemoteAdapter 
> [explicitVers=null, started=true, commitAllowed=0, 
> txState=IgniteTxRemoteStateImpl [readMap=EmptyMap {}, 
> writeMap=ConcurrentLinkedHashMap {}], skipCompletedVers=false, txLbl=null, 
> super=IgniteTxAdapter [xidVer=GridCacheVersion [topVer=156257270, 
> order=1544777271199, nodeOrder=3], writeVer=null, implicit=false, loc=false, 
> threadId=13554, startTime=1544777302963, 
> nodeId=cb0ed489-aa1c-4e7a-a196-3bea9e500002, startVer=GridCacheVersion 
> [topVer=156257270, order=1544777268079, nodeOrder=2], endVer=null, 
> isolation=REPEATABLE_READ, concurrency=PESSIMISTIC, timeout=0, 
> sysInvalidate=false, sys=false, plc=2, commitVer=GridCacheVersion 
> [topVer=156257270, order=1544777271199, nodeOrder=3], finalizing=NONE, 
> invalidParts=null, state=ACTIVE, timedOut=false, 
> topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], 
> mvccSnapshot=MvccSnapshotWithoutTxs [crdVer=1544777266400, cntr=1776, 
> cleanupVer=263, opCntr=0], parentTx=null, duration=87023ms, 
> onePhaseCommit=false]]]]
> Thread 
> [name="test-runner-#12427%transactions.TxRollbackAsyncWithPersistenceTest%", 
> id=13441, state=WAITING, blockCnt=5, waitCnt=54]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304)
>         at 
> o.a.i.i.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:179)
>         at 
> o.a.i.i.util.future.GridFutureAdapter.get(GridFutureAdapter.java:142)
>         at 
> o.a.i.i.processors.cache.transactions.TxRollbackAsyncTest.testSynchronousRollback0(TxRollbackAsyncTest.java:460)
>         at 
> o.a.i.i.processors.cache.transactions.TxRollbackAsyncTest.testSynchronousRollback(TxRollbackAsyncTest.java:339)
>         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)
>         at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>         at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>         at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>         at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>         at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
>         at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>         at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
>         at 
> o.a.i.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2119)
>         at java.lang.Thread.run(Thread.java:748)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to