You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2019/03/11 06:33:06 UTC
[jira] [Updated] (IGNITE-10219) MVCC: TX: Backup node update may
fail after lost tx rollback.
[ https://issues.apache.org/jira/browse/IGNITE-10219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov updated IGNITE-10219:
-------------------------------------
Labels: transactions (was: mvcc_stabilization_stage_1 transactions)
> MVCC: TX: Backup node update may fail after lost tx rollback.
> -------------------------------------------------------------
>
> Key: IGNITE-10219
> URL: https://issues.apache.org/jira/browse/IGNITE-10219
> Project: Ignite
> Issue Type: Bug
> Components: mvcc
> Reporter: Andrew Mashenkov
> Assignee: Andrew Mashenkov
> Priority: Major
> Labels: transactions
> Fix For: 2.8
>
> Attachments: CacheMvccTxFailoverTest.java
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> The use case:
> # Start Tx and update entry.
> # Kill backup.
> # Rollback Tx (backup miss this tx state change due to outage)
> # Start backup.
> # Update same entry may fails with unknown tx state for latest entry version.
> Backup won't rebalance partition for the key as rollback doesn't increment partition counter and can't found active transaction for latest entry version as TxLog contains neither commit nor rollback record.
> Also Tx can't be detected as rolled back as mvcc coordinator version hasn't changed during backup node outage.
>
> Possible solutions are
> # Increment mvcc coordinator version on every node join event that need to be carefully tested.
> # Scan cache to cleanup such entries on node startup (right after recovery from WAL) which is inefficient.
> # Or may be log Tx start in TxLog and rollback all active Tx on node startup.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)