[
https://issues.apache.org/jira/browse/DRILL-3493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710303#comment-14710303
]
Deneche A. Hakim commented on DRILL-3493:
-----------------------------------------
The way I was thinking of implementing it doesn't involve exception/pause
injection, apart from maybe reusing the injection sites and the activation of
sites through an alter session command.
We want to see what happens when the Foreman receives a user cancellation
request when the code is in a specific state (i.e. the code reaches a
cancellation site), the cancellation site would basically call foreman.cancel()
directly (most likely through a separate cancellation thread to avoid any
concurrent issues) simulating a user cancellation.
This solution has it's limitations, for example it only works for the fragments
running on the Foreman's Drillbit, but it's a step in the right direction and
will at least provide some way to test cancellation in a reproducible manner.
> Alter session command with an option to cancel query in a particular phase of
> execution
> ---------------------------------------------------------------------------------------
>
> Key: DRILL-3493
> URL: https://issues.apache.org/jira/browse/DRILL-3493
> Project: Apache Drill
> Issue Type: New Feature
> Components: Execution - Flow
> Reporter: Victoria Markman
> Assignee: Deneche A. Hakim
> Priority: Blocker
> Fix For: 1.2.0
>
>
> This proposal is to implement:
> "alter session cancel <execution phase> = true|false".
> where <execution phase> is an entry point for query cancellation, like say
> "sort" or "disk based sort" , etc.
> When this option is set, if query reaches this point, forman would issue
> cancel.
> This way: we can easily test correctness of query cancellation in different
> types of queries.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)