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

Andrey Gura commented on IGNITE-2854:
-------------------------------------

Current deadlock detection implementation supports pessimistic transactions for 
all cache memory modes ({{LOCAL\PARTITIONED\REPLICATED}}). It tested with 
different type of initial nodes and order of lock acquiring. But there is 
problem with near cache enabled. It looks like some kind of race conditions on 
MVCC candidates queue (may be lock can be released not only from 
{{GridDhtLockFuture.onTimeout}} and {{GridNearLockFuture.onTimeout}}).

Also need to support optimistic transactions. {{GridDhtTxPrepareFuture}} should 
create and register {{TimeoutObject}} and process timeouts like 
{{GridDhtLockFuture}}. 

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

Reply via email to