ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Lang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-6530) Supposed deadlock with persistent store
Date Fri, 29 Sep 2017 17:55:00 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-6530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16186139#comment-16186139
] 

Joel Lang commented on IGNITE-6530:
-----------------------------------

I think I've tracked down the issue to an attempt to remove the same set of entries from the
cache on different threads at the same time using removeAll() on a hash set.

A comment here said that this could lead to a deadlock: https://stackoverflow.com/questions/45028962/possible-starvation-in-striped-pool-with-deadlock-true-apache-ignite

I made a possible fix by both ensuring the operation can only happen on one thread at a time
(as it should have been), and by using a TreeSet with removeAll() instead of HashSet. I have
yet to verify that this fix worked though.

I just want to clarify if this possible deadlock is documented somewhere and I missed it,
or if this is not intended behavior? I assume any deadlock situation should not be allowed.
If removeAll() and other batch operations require sorting for safety, I think the methods
should require a SortedSet instance.

> Supposed deadlock with persistent store
> ---------------------------------------
>
>                 Key: IGNITE-6530
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6530
>             Project: Ignite
>          Issue Type: Bug
>          Components: persistence
>    Affects Versions: 2.2
>            Reporter: Joel Lang
>
> Just started receiving a great deal of warnings about possible starvation in stripped
pool.
> The stack trace shows it happens in checkpointReadLock() in GridCacheDatabaseSharedManager.
> Here are the log messages:
> {noformat}
> 2017-09-28 12:08:09 [grid-timeout-worker-#15%mbe%] WARN  o.apache.ignite.internal.diagnostic
- Found long running cache future [startTime=12:05:12.016, curTime=12:08:09.947, fut=GridNearAtomicUpdateFuture
[mappings={922dc862-feed-4245-a014-fde00f21eac1=Primary [id=922dc862-feed-4245-a014-fde00f21eac1,
opRes=true, expCnt=-1, rcvdCnt=0, primaryRes=true, done=true, waitFor=null, rcvd=null], 592ff27f-e7d2-45c0-8415-4cca0ce8e11e=Primary
[id=592ff27f-e7d2-45c0-8415-4cca0ce8e11e, opRes=false, expCnt=-1, rcvdCnt=0, primaryRes=false,
done=false, waitFor=null, rcvd=null]}, remapKeys=null, singleReq=null, resCnt=1, super=GridNearAtomicAbstractUpdateFuture
[remapCnt=100, topVer=AffinityTopologyVersion [topVer=2, minorTopVer=2], remapTopVer=null,
err=null, futId=655361, super=GridFutureAdapter [ignoreInterrupts=false, state=INIT, res=null,
hash=1699524044]]]]
> 2017-09-28 12:08:09 [grid-timeout-worker-#15%mbe%] WARN  o.apache.ignite.internal.diagnostic
- Found long running cache future [startTime=12:05:12.054, curTime=12:08:09.947, fut=GridNearAtomicUpdateFuture
[mappings={592ff27f-e7d2-45c0-8415-4cca0ce8e11e=Primary [id=592ff27f-e7d2-45c0-8415-4cca0ce8e11e,
opRes=false, expCnt=-1, rcvdCnt=0, primaryRes=false, done=false, waitFor=null, rcvd=null],
922dc862-feed-4245-a014-fde00f21eac1=Primary [id=922dc862-feed-4245-a014-fde00f21eac1, opRes=true,
expCnt=-1, rcvdCnt=0, primaryRes=true, done=true, waitFor=null, rcvd=null]}, remapKeys=null,
singleReq=null, resCnt=1, super=GridNearAtomicAbstractUpdateFuture [remapCnt=100, topVer=AffinityTopologyVersion
[topVer=2, minorTopVer=2], remapTopVer=null, err=null, futId=671745, super=GridFutureAdapter
[ignoreInterrupts=false, state=INIT, res=null, hash=1175088539]]]]
> 2017-09-28 12:08:10 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-0-#1%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]],
Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0,
skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=KeyCacheObjectImpl [part=0,
val=null, hasValBytes=true], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]],
Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0,
skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=KeyCacheObjectImpl [part=0,
val=null, hasValBytes=true], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]]]
>     Deadlock: true
>     Completed: 3174
> Thread [name="sys-stripe-0-#1%mbe%", id=15, state=WAITING, blockCnt=4, waitCnt=5789]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1770)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1686)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3063)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:265)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:260)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> 2017-09-28 12:08:10 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-1-#2%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridDhtAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], val=BinaryObjectImpl [arr= true, ctx=false, start=0], prevVal=null,
super=GridDhtAtomicAbstractUpdateRequest [onRes=false, nearNodeId=null, nearFutId=0, flags=]]]],
Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0,
skipOnTimeout=false, msg=GridNearAtomicUpdateResponse [nodeId=null, futId=131961, errs=null,
ret=GridCacheReturn [v=null, cacheObj=null, success=true, invokeRes=false, loc=true, cacheId=0],
remapTopVer=null, nearUpdates=null, partId=1, mapping=null, nodeLeft=false, super=parent]]],
Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0,
skipOnTimeout=false, msg=GridDhtAtomicSingleUpdateRequest [key=BinaryObjectImpl [arr= true,
ctx=false, start=0], val=BinaryObjectImpl [arr= true, ctx=false, start=0], prevVal=null, super=GridDhtAtomicAbstractUpdateRequest
[onRes=false, nearNodeId=null, nearFutId=0, flags=]]]], Message closure [msg=GridIoMessage
[plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicUpdateResponse
[nodeId=null, futId=33649, errs=null, ret=GridCacheReturn [v=null, cacheObj=null, success=true,
invokeRes=false, loc=true, cacheId=0], remapTopVer=null, nearUpdates=null, partId=1, mapping=null,
nodeLeft=false, super=parent]]]]
>     Deadlock: true
>     Completed: 10734
> Thread [name="sys-stripe-1-#2%mbe%", id=16, state=WAITING, blockCnt=0, waitCnt=14217]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processDhtAtomicUpdateRequest(GridDhtAtomicCache.java:3142)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$600(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:303)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:298)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> {noformat}
> {noformat}
> 2017-09-28 13:15:12 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-4-#5%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]]]
>     Deadlock: true
>     Completed: 3212
> Thread [name="sys-stripe-4-#5%mbe%", id=19, state=WAITING, blockCnt=12, waitCnt=5835]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1770)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1686)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3063)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:265)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:260)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> 2017-09-28 13:15:12 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-5-#6%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]]]
>     Deadlock: true
>     Completed: 3524
> Thread [name="sys-stripe-5-#6%mbe%", id=20, state=WAITING, blockCnt=3, waitCnt=6730]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1770)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1686)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3063)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:265)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:260)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> 2017-09-28 13:15:12 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-6-#7%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]]]
>     Deadlock: true
>     Completed: 3074
> Thread [name="sys-stripe-6-#7%mbe%", id=21, state=WAITING, blockCnt=1, waitCnt=5686]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1770)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1686)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3063)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:265)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:260)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> 2017-09-28 13:15:12 [grid-timeout-worker-#15%mbe%] WARN  o.a.ignite.internal.util.typedef.G
- >>> Possible starvation in striped pool.
>     Thread name: sys-stripe-7-#8%mbe%
>     Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8,
ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl
[arr= true, ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]],
Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0,
skipOnTimeout=false, msg=GridNearAtomicSingleUpdateRequest [key=BinaryObjectImpl [arr= true,
ctx=false, start=0], parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=]]]]]
>     Deadlock: true
>     Completed: 3249
> Thread [name="sys-stripe-7-#8%mbe%", id=22, state=WAITING, blockCnt=4, waitCnt=5892]
>     Lock [object=java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@2e1993dd,
ownerName=null, ownerId=-1]
>         at sun.misc.Unsafe.park(Native Method)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(Unknown
Source)
>         at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(Unknown
Source)
>         at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(Unknown Source)
>         at o.a.i.i.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:847)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1770)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1686)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3063)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:129)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:265)
>         at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:260)
>         at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1042)
>         at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:561)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:378)
>         at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:304)
>         at o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:99)
>         at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:293)
>         at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1184)
>         at o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:126)
>         at o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1097)
>         at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483)
>         at java.lang.Thread.run(Unknown Source)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message