[jira] [Created] (IGNITE-12800) SQL: local queries cursors must be closed or full read to unlock the GridH2Table.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-12800) SQL: local queries cursors must be closed or full read to unlock the GridH2Table.

Anton Vinogradov (Jira)
Taras Ledkov created IGNITE-12800:
-------------------------------------

             Summary: SQL: local queries cursors must be closed or full read to unlock the GridH2Table.
                 Key: IGNITE-12800
                 URL: https://issues.apache.org/jira/browse/IGNITE-12800
             Project: Ignite
          Issue Type: Bug
          Components: sql
    Affects Versions: 2.8
            Reporter: Taras Ledkov
            Assignee: Taras Ledkov
             Fix For: 2.9


*Root cause:* local queries cursors must be closed or full read to unlock the GridH2Table.

*Proposal fix:*
- modify {{H2ResultSetIterator}} to use "paged mode": iterator reads N records into internal buffer and unlock the tables (similar to {{MapQueryResult}}; later we have to refactor these classes. They must use one code base to fetch data and lok/unlock tables)
- modify the state logic of the {{QueryCursorImpl}} for lazy mode. Now the real query cancellation isn't called when result set is gathered. It is not valid for lazy mode.
- add wrapper for iterator at the {{RegisteredQueryCursor}} because the state of query isn't tracked when results are read via Iterator at the client code.
- fix tests that doesn't close query cursor for local queries.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)