[ https://issues.apache.org/jira/browse/IGNITE-11313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16771818#comment-16771818 ]
Sergey Chugunov commented on IGNITE-11313: ------------------------------------------ [~ibessonov], I reviewed your changes: great idea to include future to exception! Really like this approach. I left minor comment about exception naming and usage, when it is fixed, please proceed with merge. Thank you for the patch! > Cluster hangs on cache invoke with binary objects creation > ---------------------------------------------------------- > > Key: IGNITE-11313 > URL: https://issues.apache.org/jira/browse/IGNITE-11313 > Project: Ignite > Issue Type: Bug > Reporter: Ivan Bessonov > Assignee: Ivan Bessonov > Priority: Major > Fix For: 2.8 > > Time Spent: 20m > Remaining Estimate: 0h > > Creating of binary objects in entry processors in parallel with continuous > queries may lead to deadlock: > {code:java} > [2019-02-11 18:52:50,129][WARN ][grid-timeout-worker-#39] >>> Possible > starvation in striped pool. > Thread name: sys-stripe-13-#14 > Queue: [] > Deadlock: false > Completed: 1 > Thread [name="sys-stripe-13-#14", id=33, state=WAITING, blockCnt=3, waitCnt=3] > at sun.misc.Unsafe.park(Native Method) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304) > at > o.a.i.i.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:178) > at > o.a.i.i.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141) > at > o.a.i.i.MarshallerContextImpl.registerClassName(MarshallerContextImpl.java:284) > at > o.a.i.i.binary.BinaryContext.registerUserClassName(BinaryContext.java:1202) > at > o.a.i.i.binary.builder.BinaryObjectBuilderImpl.serializeTo(BinaryObjectBuilderImpl.java:366) > at > o.a.i.i.binary.builder.BinaryObjectBuilderImpl.build(BinaryObjectBuilderImpl.java:189) > at > o.a.i.scenario.InvokeTask$MyEntryProcessor.process(InvokeTask.java:106) > at > o.a.i.i.processors.cache.EntryProcessorResourceInjectorProxy.process(EntryProcessorResourceInjectorProxy.java:68) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxPrepareFuture.onEntriesLocked(GridDhtTxPrepareFuture.java:446) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1302) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:713) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1103) > at > o.a.i.i.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:405) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:569) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:367) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:171) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:156) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:118) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:198) > at > o.a.i.i.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:196) > at > o.a.i.i.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1129) > at > o.a.i.i.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:594) > at > o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:393) > at > o.a.i.i.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319) > at > o.a.i.i.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) > at > o.a.i.i.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) > at > o.a.i.i.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569) > at > o.a.i.i.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197) > at > o.a.i.i.managers.communication.GridIoManager.access$4200(GridIoManager.java:127) > at > o.a.i.i.managers.communication.GridIoManager$9.run(GridIoManager.java:1093) > at o.a.i.i.util.StripedExecutor$Stripe.body(StripedExecutor.java:505) > at o.a.i.i.util.worker.GridWorker.run(GridWorker.java:120) > at java.lang.Thread.run(Thread.java:748) > {code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)