You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2023/07/27 16:17:00 UTC
[jira] [Created] (IGNITE-20078) Sql. Improve (or remove) CancellationException handling.
Pavel Pereslegin created IGNITE-20078:
-----------------------------------------
Summary: Sql. Improve (or remove) CancellationException handling.
Key: IGNITE-20078
URL: https://issues.apache.org/jira/browse/IGNITE-20078
Project: Ignite
Issue Type: Improvement
Components: sql
Reporter: Pavel Pereslegin
At the moment, users are allowed to cancel queries using Session#close* methods.
But we also partially implemented the logic to allow users to cancel queries using the {{CompletableFuture#cancel}} method.
For example, internal {{SqlQueryProcessor#querySingleAsync}} returns a future, which allows the queryCancel handler to be called, which releases the resources associated with the query.
But the public method {{Session#executeAsync}} returns a child future, canceling which, at the moment, will not release the resources.
At the same time, the implementation of the public method {{Session#executeBatchAsync}} handles {{CancellationException}} and can cancel batch tasks, but currently incorrectly cancels the future returned from {{querySingleAsync}}.
We need to fix the {{CancellationException}} handling logic or clean up our code of these complexities if we don't want to allow users to cancel requests using such approach.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)