You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (Jira)" <ji...@apache.org> on 2022/04/08 14:56:00 UTC

[jira] [Commented] (IGNITE-16777) clearAsync could lead to a block of the management pool

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

Ignite TC Bot commented on IGNITE-16777:
----------------------------------------

{panel:title=Branch: [pull/9929/head] Base: [master] : Possible Blockers (1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}ZooKeeper (Discovery) 1{color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=6513210]]

{panel}
{panel:title=Branch: [pull/9929/head] Base: [master] : New Tests (2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Cache 13{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=6510581]]
* {color:#013220}IgniteCacheTestSuite13: CacheClearAsyncDeadlockTest.test - PASSED{color}

{color:#00008b}Basic 1{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=6510490]]
* {color:#013220}IgniteBasicTestSuite: GridFutureAdapterSelfTest.testChainCompose - PASSED{color}

{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=6510595&amp;buildTypeId=IgniteTests24Java8_RunAll]

> clearAsync could lead to a block of the management pool
> -------------------------------------------------------
>
>                 Key: IGNITE-16777
>                 URL: https://issues.apache.org/jira/browse/IGNITE-16777
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.12
>            Reporter: Maria Makedonskaya
>            Assignee: Denis Chudov
>            Priority: Major
>         Attachments: ClearAsyncNearCachesTest.java
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> In the case of using near caches when we call clearAsync there is a chain future(see org.apache.ignite.internal.processors.cache.GridCacheAdapter#clearAsync(java.util.Set<? extends K>)) where we synchronously wait for execution of ClearTask on near nodes. This logic leads to the possibility of blocking all threads in the management pool (reproducer attached).
> Stack trace of waiting thread:
> {noformat}
> "mgmt-#297%ignite.SizeTaskTest24%@5869" prio=5 tid=0x149 nid=NA waiting
>   java.lang.Thread.State: WAITING
>       at sun.misc.Unsafe.park(Unsafe.java:-1)
>       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:178)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141)
>       at org.apache.ignite.internal.processors.cache.GridCacheAdapter$8.applyx(GridCacheAdapter.java:1231)
>       at org.apache.ignite.internal.processors.cache.GridCacheAdapter$8.applyx(GridCacheAdapter.java:1229)
>       at org.apache.ignite.internal.util.lang.IgniteClosureX.apply(IgniteClosureX.java:38)
>       at org.apache.ignite.internal.util.future.GridFutureChainListener.applyCallback(GridFutureChainListener.java:78)
>       at org.apache.ignite.internal.util.future.GridFutureChainListener.apply(GridFutureChainListener.java:70)
>       at org.apache.ignite.internal.util.future.GridFutureChainListener.apply(GridFutureChainListener.java:30)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener$$$capture(GridFutureAdapter.java:399)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:-1)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:347)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:335)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:511)
>       at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:490)
>       at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1650)
>       at org.apache.ignite.internal.processors.task.GridTaskWorker.finishTask(GridTaskWorker.java:1618)
>       at org.apache.ignite.internal.processors.task.GridTaskWorker.reduce(GridTaskWorker.java:1194)
>       at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:976)
>       at org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1155)
>       at org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1390)
>       at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
>       at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
>       at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
>       at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
>       at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
>       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>       at java.lang.Thread.run(Thread.java:748){noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)