Return-Path: X-Original-To: apmail-ignite-issues-archive@minotaur.apache.org Delivered-To: apmail-ignite-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E469F19DD5 for ; Wed, 30 Mar 2016 23:18:25 +0000 (UTC) Received: (qmail 95067 invoked by uid 500); 30 Mar 2016 23:18:25 -0000 Delivered-To: apmail-ignite-issues-archive@ignite.apache.org Received: (qmail 95000 invoked by uid 500); 30 Mar 2016 23:18:25 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 94905 invoked by uid 99); 30 Mar 2016 23:18:25 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2016 23:18:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 81CB22C1F5D for ; Wed, 30 Mar 2016 23:18:25 +0000 (UTC) Date: Wed, 30 Mar 2016 23:18:25 +0000 (UTC) From: "Andrey Gura (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (IGNITE-2854) Need to implement deadlock detection MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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 11:18 PM: --------------------------------------------------------------- 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 amount 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)