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

Alexander Menshikov edited comment on IGNITE-4365 at 6/27/17 1:56 PM:
----------------------------------------------------------------------

[~yzhdanov]
I looked up all thread dump and found the problem line:

org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheAdapter$GlobalRemoveAllJob.localExecute(GridDistributedCacheAdapter.java:426)

This is the place where the GlobalRemoveAllJob#localExecute makes work under 
the gate.enter().

But execution stuck in DataStreamerImpl#doFlush(). Can we just interrupt 
DataStreamerImpl#close() in this case? Or it breaks the logic?

All because of the while(true) loop. Somehow the active futures don't want to 
stop. I can easily fix the problem by added something like that:

if (doneCnt == activeFuts0.size() *|| ctx.gateway().isStopping()*)
                return;


was (Author: sharpler):
[~yzhdanov]
I looked up all thread dump and found the problem line:

org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheAdapter$GlobalRemoveAllJob.localExecute(GridDistributedCacheAdapter.java:426)

This is the place where the GlobalRemoveAllJob#localExecute makes work under 
the gate.enter().

But execution stuck in DataStreamerImpl#doFlush(). Can we just interrupt 
DataStreamerImpl#close() in this case? Or it breaks the logic?

> Data grid in deadlock on stop
> -----------------------------
>
>                 Key: IGNITE-4365
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4365
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Yakov Zhdanov
>              Labels: busylock, gateway, performance
>         Attachments: thread-dump.txt
>
>
> Attached is the threaddump describing the problem.
> # several public threads wait for new cache topology version
> # onExchangeFinish() tries to stop the gateway, but cannot do it due to 
> public threads waiting inside the GW.
> # grid stopping thread waits for job requests to complete



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to