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)