ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Semen Boikov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-1607) Implement deadlock-free optimistic serializable mode
Date Fri, 30 Oct 2015 09:06:27 GMT

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

Semen Boikov commented on IGNITE-1607:
--------------------------------------

Added more failover test checking data consistency, found issue in GridNearOptimisticSerializableTxPrepareFuture:
MiniFuture error set in client reconnect handling code was ignored, so tx could be partially
committed.

> Implement deadlock-free optimistic serializable mode
> ----------------------------------------------------
>
>                 Key: IGNITE-1607
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1607
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: ignite-1.4
>            Reporter: Alexey Goncharuk
>            Assignee: Semen Boikov
>             Fix For: 1.5
>
>
> There is an idea of optimistic serializable mode which will provide better scalability
on relatively large transactions and large topologies when no heavy contention is experienced.
>  * When transactional read is performed, we need to store the version of read entry.
>  * When transaction prepare is performed, we can send prepare requests simultaneously
on all nodes. There is no need to preserve the order of locks and create a queue of tx mappings
for this mode.
>  * When we add local MVCC candidates on a primary node, two checks are performed: that
the current entry version matches the one transaction read (if read was performed), and that
currently there are no other local MVCC candidates. If any of these checks fails, prepare
step fails and transaction is failed with optimistic conflict exception.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message