You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/11/16 14:37:00 UTC

[jira] [Created] (IGNITE-6935) SQL TX: Locking protocol for simple queries

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)