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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Anton Vinogradov (Jira)
Yakov Zhdanov created IGNITE-4411:
-------------------------------------

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


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)