You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Menshikov (JIRA)" <ji...@apache.org> on 2017/06/20 16:28:00 UTC

[jira] [Commented] (IGNITE-4365) Data grid in deadlock on stop

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

Alexander Menshikov commented on IGNITE-4365:
---------------------------------------------

[~yzhdanov]
I don't see any onExchangeFinish() methods. There is not in thread dumb and even in all projects. Only GridCacheProcessor#onExchangeDone() looks similar. Do you mean this method?

Anyway, am I right the problem is GridCacheGateway#onStopped() is waiting for unlocking of all locks, but other threads don't know about a stopping processes?
And make it clear for me please: is the main way to solve the problem of sending a signal to the other threads about the beginning of the process of stopping? And we shouldn't fight with deadlocks, but we should add a mechanism for abort work under locks?

> 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)