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)