[
https://issues.apache.org/jira/browse/IGNITE-3321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15369894#comment-15369894
]
Igor Rudyak commented on IGNITE-3321:
-------------------------------------
As a possible solution it could be used *RAMP* (Read Atomic Multi-Partition)
transactions to address this.
RAMP introduces isolation model called Read Atomic (RA) isolation. RA provides
transactions with a "snapshot" view of the database that respects transaction
boundaries. RA is simply a restriction on write visibility. While ACID
"Atomicity" property requires that all or none of a transaction’s updates are
performed, RA requires that all or none of a transaction’s updates are made
visible to other transactions.
RAMP transactions guarantee scalability and outperform existing atomic
algorithms because they satisfy two key scalability constraints:
- *Synchronization independence* - one client’s transactions cannot cause
another client’s transactions to stall or fail.
- *Partition independence* - clients never need to contact partitions that
their transactions do not directly reference.
For more details about RAMP transaction algorithms see the article:
http://www.bailis.org/papers/ramp-sigmod2014.pdf
> Address possible data corruption in Persistent Store implementations
> --------------------------------------------------------------------
>
> Key: IGNITE-3321
> URL: https://issues.apache.org/jira/browse/IGNITE-3321
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Affects Versions: 1.6
> Environment: any
> Reporter: Alexandre Boudnik
> Assignee: Alexandre Boudnik
> Original Estimate: 504h
> Remaining Estimate: 504h
>
> When records from partitions on different nodes are committed, each node uses
> its own SQL connection. It is possible that one of DML statements will fail
> on one of the connections, while others have committed successfully.
> And we need to make a very hard decision:
> - If we ignore fail then we will lose some changes.
> - If we throw an exception we will make inconsistent changes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)