[ 
https://issues.apache.org/jira/browse/DRILL-3493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14710253#comment-14710253
 ] 

Chris Westin commented on DRILL-3493:
-------------------------------------

I talked this over with [~sudheeshkatkam], and we don't think it will be useful 
if we implement this exactly as described. This is because of how the 
exception/pause injection code (which this would use) works. 

Specifically, delivery of events/messages to FragmentExecutors (under which all 
this work takes place) is serialized. That severely reduces or eliminates the 
utility of this, in this form. That's because when the <execution phase> is 
detected, the cancellation message would be sent. But that happens under an 
existing RPC message handler. Because of the serialization of message delivery 
to the executor (for any particular query), the cancellation message won't be 
delivered until the current message handler finishes. In other words, the 
cancellation won't take place until whatever is currently executing finishes, 
which is too late to be useful (in a single-node case, the query could be over).

We need some more time to think about a way this can be done usefully, which 
might require support from the test framework itself.


> 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)

Reply via email to