Alexey Goncharuk created IGNITE-1607:
----------------------------------------

             Summary: 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


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)

Reply via email to