You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Gura (JIRA)" <ji...@apache.org> on 2016/03/30 02:16:25 UTC

[jira] [Comment Edited] (IGNITE-2854) Need to implement deadlock detection

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

Andrey Gura edited comment on IGNITE-2854 at 3/30/16 12:15 AM:
---------------------------------------------------------------

At this moment search of the first deadlock (cycle in wait-for-graph) implemented as {{DeadlockDetection}} class that used by {{IgniteTxManager}}. Messaging implemented via {{GridIoManager}} and new {{TOPIC_TX}} topic. If deadlock detected then detector prints out transaction IDs that involved into deadlock and keys that cause of deadlock.

Need to extend current algorithm for finding all possible deadlocks for active near transactions on current node. At the same time detection have to request from remote nodes only transactions that contain the same keys as transactions on the local node. It allows to reduce network traffic but increases possible requests in cases when deadlock wasn't detected.

Also need to find out better way for reporting found deadlocks.


was (Author: agura):
At this moment search of the first deadlock (cycle in wait-for-graph) implemented as `DeadlockDetection` class that used by `IgniteTxManager`. Messaging implemented via `GridIoManager` and new `TOPIC_TX` topic. If deadlock detected then detector prints out transaction IDs that involved into deadlock and keys that cause of deadlock.

Need to extend current algorithm for finding all possible deadlocks for active near transactions on current node. At the same time detection have to request from remote nodes only transactions that contain the same keys as transactions on the local node. It allows to reduce network traffic but increases possible requests in cases when deadlock wasn't detected.

Also need to find out better way for reporting found deadlocks.

> Need to implement deadlock detection
> ------------------------------------
>
>                 Key: IGNITE-2854
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2854
>             Project: Ignite
>          Issue Type: New Feature
>          Components: cache
>    Affects Versions: 1.5.0.final
>            Reporter: Valentin Kulichenko
>            Assignee: Andrey Gura
>             Fix For: 1.6
>
>
> Currently, if transactional deadlock occurred, there is no easy way to find out which locks were reordered.
> We need to add a mechanism that will collect information about awating candidates, analyze it and show guilty keys. Most likely this should be implemented with the help of custom discovery message.
> In addition we should automatically execute this mechanism if transaction times out and add information to timeout exception.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)