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)