I have an issue regarding Apache Ignite. My test is did with a Ignite server (written in java that use the continuous query to receive the notifications of the changed variables) and a Ignite client (written in .Net that use the putAll method to send the notifications of 1000 variables that vary every 50 milliseconds). Each putAll sent around 350 variables simultaneously. The error that i receive is:
2017-07-11 09:56:33,491 [WARN ] [grid-timeout-worker-#19%null%] G - Possible starvation in striped pool. Thread name: sys-stripe-9-#10%null% Queue: [Message closure [msg=GridIoMessage [plc=2, topic=TOPIC_CACHE, topicOrd=8, ordered=false, timeout=0, skipOnTimeout=false, msg=GridNearAtomicFullUpdateRequest [keys=[KeyCacheObjectImpl [part=117, val=null, hasValBytes=true], KeyCacheObjectImpl [part=670, val=null, hasValBytes=true]], conflictTtls=null, conflictExpireTimes=null, expiryPlc=null, initSize=0, filter=null, parent=GridNearAtomicAbstractUpdateRequest [res=null, flags=keepBinary]]]]] Deadlock: true Completed: 4941 Thread [name="sys-stripe-9-#10%null%", id=22, state=BLOCKED, blockCnt=6, waitCnt=4889] Lock [object=o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCacheEntry@541d822b, ownerName=sys-stripe-5-#6%null%, ownerId=18] at sun.misc.Unsafe.monitorEnter(Native Method) at o.a.i.i.util.GridUnsafe.monitorEnter(GridUnsafe.java:1193) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.lockEntries(GridDhtAtomicCache.java:2815) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1741) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3016) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:127) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:282) at o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:277) at o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:863) at o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:386) at o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:308) at o.a.i.i.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:100) at o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:253) at o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1257) at o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:885) at o.a.i.i.managers.communication.GridIoManager.access$2100(GridIoManager.java:114) at o.a.i.i.managers.communication.GridIoManager$7.run(GridIoManager.java:802) at o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483) at java.lang.Thread.run(Thread.java:748)