【发布时间】:2017-07-11 08:13:38
【问题描述】:
我有一个关于 Apache Ignite 的问题。我的测试是使用一个 Ignite 服务器(用 java 编写,使用连续查询来接收更改变量的通知)和一个 Ignite 客户端(用 .Net 编写,使用 putAll 方法发送 1000 个变量的通知,这些变量每50 毫秒)。 每个 putAll 同时发送大约 350 个变量。 我收到的错误是:
2017-07-11 09:56:33,491 [警告] [grid-timeout-worker-#19%null%] G - 条纹池中可能出现饥饿。 线程名称:sys-stripe-9-#10%null% 队列:[消息关闭[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]]]]] 死锁:真 已完成:4941 线程 [name="sys-stripe-9-#10%null%",id=22,state=BLOCKED,blockCnt=6,waitCnt=4889] 锁定 [object=o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCacheEntry@541d822b, ownerName=sys-stripe-5-#6%null%, ownerId=18] 在 sun.misc.Unsafe.monitorEnter(本机方法) 在 o.a.i.i.util.GridUnsafe.monitorEnter(GridUnsafe.java:1193) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.lockEntries(GridDhtAtomicCache.java:2815) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1741) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3016) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:127) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:282) 在 o.a.i.i.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$6.apply(GridDhtAtomicCache.java:277) 在 o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:863) 在 o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:386) 在 o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:308) 在 o.a.i.i.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:100) 在 o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:253) 在 o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1257) 在 o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:885) 在 o.a.i.i.managers.communication.GridIoManager.access $2100(GridIoManager.java:114) 在 o.a.i.i.managers.communication.GridIoManager $7.run(GridIoManager.java:802) 在 o.a.i.i.util.StripedExecutor$Stripe.run(StripedExecutor.java:483) 在 java.lang.Thread.run(Thread.java:748)
【问题讨论】:
-
putAll 参数的值是否按顺序排列?
-
不..我没有为此执行任何命令...