You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Taras Ledkov (Jira)" <ji...@apache.org> on 2022/08/25 09:18:00 UTC

[jira] [Updated] (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:all-tabpanel ]

Taras Ledkov updated IGNITE-16777:
----------------------------------
    Release Note: Fixed an issue that could lead to a block of the management pool in case of using clearSync

> 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
>              Labels: ise.lts
>             Fix For: 2.14
>
>         Attachments: ClearAsyncNearCachesTest.java
>
>          Time Spent: 1h 10m
>  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.10#820010)