You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2016/12/15 09:16:58 UTC

[jira] [Updated] (IGNITE-4411) Deadlock with striped pool

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

Semen Boikov updated IGNITE-4411:
---------------------------------
    Fix Version/s: 2.0

> Deadlock with striped pool
> --------------------------
>
>                 Key: IGNITE-4411
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4411
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Yakov Zhdanov
>            Assignee: Semen Boikov
>             Fix For: 2.0
>
>
> I think we need to rewrite test either to use static JVM local atomic long or submit cache atomic long increment closure to parallel thread and change value check to cycle with condition wait
> {noformat}
> [15:49:29,501][WARN ][grid-timeout-worker-#14968%replicated.GridCachePartitionedFairAffinityMultiNodeFullApiSelfTest0%][G] >>> Possible starvation in striped pool: sys-stripe-0-#14954%replicated.GridCachePartitionedFairAffinityMultiNodeFullApiSelfTest0%
> [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearTxPrepareResponse [pending=[], futId=3cefb1ae851-45363875-1d17-4def-a565-ed045430c63a, miniId=4cefb1ae851-45363875-1d17-4def-a565-ed045430c63a, dhtVer=GridCacheVersion [topVer=92839713, time=1481359713993, order=1481359711974, nodeOrder=4], writeVer=GridCacheVersion [topVer=92839713, time=1481359713993, order=1481359711975, nodeOrder=4], invalidParts=null, ownedVals=null, retVal=GridCacheReturn [v=null, cacheObj=null, success=true, invokeRes=false, loc=true, cacheId=0], clientRemapVer=null, super=GridDistributedTxPrepareResponse [txState=null, err=null, super=GridDistributedBaseMessage [ver=GridCacheVersion [topVer=92839713, time=1481359713993, order=1481359711973, nodeOrder=1], committedVers=null, rolledbackVers=null, cnt=0, super=GridCacheMessage [msgId=3399625, depInfo=GridDeploymentInfoBean [clsLdrId=80eab1ae851-ad92cf87-855c-4c83-8d65-4df93a000003, depMode=SHARED, userVer=0, locDepOwner=true, participants=null], err=null, skipPrepare=false, cacheId=0, cacheId=0]]]]]]]
> deadlock: false
> completed: 101
> Thread [name="sys-stripe-0-#14954%replicated.GridCachePartitionedFairAffinityMultiNodeFullApiSelfTest0%", id=16497, state=WAITING, blockCnt=0, waitCnt=102]
>     Lock [object=o.a.i.i.processors.cache.distributed.near.GridNearTxFinishFuture@42abf08e, ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:964)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1282)
>         at o.a.i.i.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:159)
>         at o.a.i.i.util.future.GridFutureAdapter.get(GridFutureAdapter.java:119)
>         at o.a.i.i.processors.cache.transactions.IgniteTxLocalAdapter.commit(IgniteTxLocalAdapter.java:567)
>         at o.a.i.i.processors.datastructures.GridCacheAtomicLongImpl$3.call(GridCacheAtomicLongImpl.java:105)
>         at o.a.i.i.processors.datastructures.GridCacheAtomicLongImpl$3.call(GridCacheAtomicLongImpl.java:91)
>         at o.a.i.i.processors.cache.GridCacheUtils$21.call(GridCacheUtils.java:1628)
>         at o.a.i.i.processors.cache.GridCacheUtils.outTx(GridCacheUtils.java:866)
>         at o.a.i.i.processors.datastructures.GridCacheAtomicLongImpl.incrementAndGet(GridCacheAtomicLongImpl.java:250)
>         at o.a.i.i.processors.cache.distributed.near.GridCachePartitionedMultiNodeFullApiSelfTest$SwapUnswapLocalListener.apply(GridCachePartitionedMultiNodeFullApiSelfTest.java:471)
>         at o.a.i.i.processors.cache.distributed.near.GridCachePartitionedMultiNodeFullApiSelfTest$SwapUnswapLocalListener.apply(GridCachePartitionedMultiNodeFullApiSelfTest.java:452)
>         at o.a.i.i.managers.eventstorage.GridEventStorageManager$UserListenerWrapper.onEvent(GridEventStorageManager.java:1183)
>         at o.a.i.i.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:770)
>         at o.a.i.i.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:755)
>         at o.a.i.i.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:295)
>         at o.a.i.i.processors.cache.GridCacheEventManager.addEvent(GridCacheEventManager.java:297)
>         at o.a.i.i.processors.cache.GridCacheSwapManager$4.apply(GridCacheSwapManager.java:763)
>         at o.a.i.i.processors.cache.GridCacheSwapManager$4.apply(GridCacheSwapManager.java:745)
>         at o.a.i.spi.swapspace.file.FileSwapSpaceSpi.remove(FileSwapSpaceSpi.java:427)
>         at o.a.i.i.managers.swapspace.GridSwapSpaceManager.remove(GridSwapSpaceManager.java:239)
>         at o.a.i.i.processors.cache.GridCacheSwapManager.readAndRemoveSwap(GridCacheSwapManager.java:745)
>         at o.a.i.i.processors.cache.GridCacheSwapManager.readAndRemove(GridCacheSwapManager.java:717)
>         at o.a.i.i.processors.cache.GridCacheSwapManager.readAndRemove(GridCacheSwapManager.java:889)
>         at o.a.i.i.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:567)
>         at o.a.i.i.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:503)
>         at o.a.i.i.processors.cache.GridCacheMapEntry.unswap(GridCacheMapEntry.java:497)
>         at o.a.i.i.processors.cache.transactions.IgniteTxManager.lockMultiple(IgniteTxManager.java:1635)
>         at o.a.i.i.processors.cache.transactions.IgniteTxManager.prepareTx(IgniteTxManager.java:861)
>         at o.a.i.i.processors.cache.distributed.GridDistributedTxRemoteAdapter.prepare(GridDistributedTxRemoteAdapter.java:398)
>         at o.a.i.i.processors.cache.transactions.IgniteTxHandler.startRemoteTx(IgniteTxHandler.java:1527)
>         at o.a.i.i.processors.cache.transactions.IgniteTxHandler.processDhtTxPrepareRequest(IgniteTxHandler.java:950)
>         at o.a.i.i.processors.cache.transactions.IgniteTxHandler$5.apply(IgniteTxHandler.java:169)
>         at o.a.i.i.processors.cache.transactions.IgniteTxHandler$5.apply(IgniteTxHandler.java:167)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:831)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:373)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:295)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:96)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:240)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1219)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:847)
>         at o.a.i.i.managers.communication.GridIoManager.access$2100(GridIoManager.java:109)
>         at o.a.i.i.managers.communication.GridIoManager$6.run(GridIoManager.java:787)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:428)
>         at java.lang.Thread.run(Thread.java:724)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)