[
https://issues.apache.org/jira/browse/IGNITE-6935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Igor Seliverstov reassigned IGNITE-6935:
----------------------------------------
Assignee: Igor Seliverstov
> SQL TX: Locking protocol for simple queries
> -------------------------------------------
>
> Key: IGNITE-6935
> URL: https://issues.apache.org/jira/browse/IGNITE-6935
> Project: Ignite
> Issue Type: Task
> Components: cache, sql
> Reporter: Vladimir Ozerov
> Assignee: Igor Seliverstov
> Labels: iep-3
> 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)