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