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

[jira] [Resolved] (IGNITE-14253) .NET: TransactionDeadlockDetection example fails when there are no external nodes

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

Pavel Tupitsyn resolved IGNITE-14253.
-------------------------------------
    Resolution: Not A Bug

[~prom1se] this is not a bug, but expected behavior: one thread fails with a timeout, another thread detects the deadlock correctly.

> .NET: TransactionDeadlockDetection example fails when there are no external nodes
> ---------------------------------------------------------------------------------
>
>                 Key: IGNITE-14253
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14253
>             Project: Ignite
>          Issue Type: Bug
>          Components: examples, platforms
>    Affects Versions: 2.9.1
>            Reporter: Fedor Malchikov 
>            Assignee: Pavel Tupitsyn
>            Priority: Minor
>              Labels: .NET
>             Fix For: 2.11
>
>         Attachments: example_node_1.log
>
>
> Run Thick/Cache/TransactionDeadlockDetection example without external nodes: 
> {code:java}
> >>> Update failed in thread 1: Apache.Ignite.Core.Transactions.TransactionTimeoutException: Failed to acquire lock within provided timeout for transaction [timeout=2000, tx=GridNearTxLocal[xid=7d0bd2fd771-00000000-0d75-fffc-0000-000000000001, xidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], nearXidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], concurrency=PESSIMISTIC, isolation=READ_COMMITTED, state=MARKED_ROLLBACK, topVer=AffinityTopologyVersion [topVer=1, minorTopVer=1], invalidate=false, rollbackOnly=true, nodeId=f9df2d5d-1f47-4980-ae27-7684f761048f, timeout=2000, startTime=1614357051532, duration=2045, label=null]] ---> Apache.Ignite.Core.Common.JavaException: class org.apache.ignite.transactions.TransactionTimeoutException: Failed to acquire lock within provided timeout for transaction [timeout=2000, tx=GridNearTxLocal[xid=7d0bd2fd771-00000000-0d75-fffc-0000-000000000001, xidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], nearXidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], concurrency=PESSIMISTIC, isolation=READ_COMMITTED, state=MARKED_ROLLBACK, topVer=AffinityTopologyVersion [topVer=1, minorTopVer=1], invalidate=false, rollbackOnly=true, nodeId=f9df2d5d-1f47-4980-ae27-7684f761048f, timeout=2000, startTime=1614357051532, duration=2045, label=null]]
> 	at org.apache.ignite.internal.util.IgniteUtils$13.apply(IgniteUtils.java:986)
> 	at org.apache.ignite.internal.util.IgniteUtils$13.apply(IgniteUtils.java:981)
> 	at org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1265)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2077)
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1313)
> 	at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:817)
> 	at org.apache.ignite.internal.processors.platform.cache.PlatformCache.processInStreamOutLong(PlatformCache.java:839)
> 	at org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inStreamOutLong(PlatformTargetProxyImpl.java:66)
> Caused by: class org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException: Failed to acquire lock within provided timeout for transaction [timeout=2000, tx=GridNearTxLocal[xid=7d0bd2fd771-00000000-0d75-fffc-0000-000000000001, xidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], nearXidVersion=GridCacheVersion [topVer=225837052, order=1614357049559, nodeOrder=1], concurrency=PESSIMISTIC, isolation=READ_COMMITTED, state=MARKED_ROLLBACK, topVer=AffinityTopologyVersion [topVer=1, minorTopVer=1], invalidate=false, rollbackOnly=true, nodeId=f9df2d5d-1f47-4980-ae27-7684f761048f, timeout=2000, startTime=1614357051532, duration=2045, label=null]]
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$LockTimeoutObject$1.apply(GridDhtColocatedLockFuture.java:1536)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$LockTimeoutObject$1.apply(GridDhtColocatedLockFuture.java:1529)
> 	at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:407)
> 	at org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:362)
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedLockFuture$LockTimeoutObject.onTimeout(GridDhtColocatedLockFuture.java:1529)
> 	at org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$TimeoutWorker.body(GridTimeoutProcessor.java:278)
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
>    --- End of inner exception stack trace ---
>    at Apache.Ignite.Core.Impl.PlatformJniTarget.InStreamOutLong[TR](Int32 type, Func`2 outAction, Func`3 inAction, Func`2 readErrorAction)
>    at Apache.Ignite.Core.Impl.Cache.CacheImpl`2.Put(TK key, TV val)
>    at Apache.Ignite.Examples.Thick.Cache.TransactionDeadlockDetection.Program.UpdateKeys(ICache`2 cache, IEnumerable`1 keys, Int32 threadId) in /home/prom1se/GG/work/var/suite-examples/art-gg-com/platforms/dotnet/examples/Thick/Cache/TransactionDeadlockDetection/Program.cs:line 80
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)