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

Ivan Pavlukhin commented on IGNITE-5935:
----------------------------------------

If a node fails before finishing all initiated by it transactions the must be 
removed from active list on mvcc coordinator strictly after local transaction 
completion on each participating node. There are 2 cases handled differently 
depending on node type (client or server).
 # Transactions left by a server node are removed from the active list on PME.
 # Transactions left by a client node are removed from the active list after 
cluster-wide voting when each node gives a vote after making decision on all 
transactions recovery on that node.
 
Possible problem: not all transactions can be recovered. Such transactions can 
prevent other recovered transactions removal from the active list.

> MVCC TX: Tx recovery protocol
> -----------------------------
>
>                 Key: IGNITE-5935
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5935
>             Project: Ignite
>          Issue Type: Task
>          Components: cache, mvcc
>            Reporter: Semen Boikov
>            Assignee: Ivan Pavlukhin
>            Priority: Major
>             Fix For: 2.7
>
>
> Transaction recovery procedure is initiated when near node failed before 
> transaction was finished.
> In MVCC transactions _partition update counter_ modification is started on 
> prepare phase. If a transaction was prepared at least on one node we need to 
> finish _partition update counter_ modification consistently on all 
> participating nodes.
> Also recovered transaction should be removed from active transactions list on 
> mvcc coordinator.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to