Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Implemented
-
None
-
None
-
None
Description
When an ongoing query is aborted by closing the corresponding dataset, statement, or connection, the query remains to progress in the background. So if several resource-consuming queries time out, their resources are still held for a long time, resulting in a low resource status of the system.
So a query should be able to be canceled. This does not only serve the timeout purpose, a user may also cancel a query if he/she finds out that the query is wrong or not meaningful anymore. Canceling a query needs to accomplish the following: first, the background threads of the query must all be interrupted; second, all claimed resources should be released; finally, the query context and dataset should be properly removed.