Vladimir Ozerov created IGNITE-6935:
---------------------------------------

             Summary: SQL TX: Locking protocol for simple queries
                 Key: IGNITE-6935
                 URL: https://issues.apache.org/jira/browse/IGNITE-6935
             Project: Ignite
          Issue Type: Task
      Security Level: Public (Viewable by anyone)
          Components: cache, sql
            Reporter: Vladimir Ozerov
             Fix For: 2.4


We need to develop locking protocol for SQL queries. Design considerations:
1) Use {{GridNeaLockRequest|Response}} as a template for new messages
2) Cover only queries which doesn't require reduce stage (see server-side DML 
optimization code, e.g. {{GridH2DmlRequest}}).
3) When next entry is found, try locking it. If it is already locked, then 
register current TX as candidate in MVCC manager and go to the next row. Other 
TXes will notify use when entries are released. Send a response when all 
entries are locked.
4) Read entry version before locking and after. If they doesn't match (i.e. 
concurrent modification occurred), then throw an exception.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to