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)