[ 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)