[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-09-11 Thread Victoria Markman (JIRA)

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

Victoria Markman commented on DRILL-3493:
-

Yes, exception injector throwing OOM will test cancellation implicitly and this 
is very important test. However, having forman cancel query when reached 
cancellation site is a different test. It's much closer to cancellation user is 
going to issue explicitly.
We will only be able to test on a single node, but that's a good way to start, 
plus we will be able to have automated test suite.

> 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.3.0
>
>
> This proposal is to implement: 
> "alter session cancel  = true|false".
> where  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)


[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-09-11 Thread Deneche A. Hakim (JIRA)

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

Deneche A. Hakim commented on DRILL-3493:
-

Depends on what you want to test. Throwing exception won't be helpful for 
testing query cancellation.

> 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.3.0
>
>
> This proposal is to implement: 
> "alter session cancel  = true|false".
> where  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)


[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-09-10 Thread Chris Westin (JIRA)

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

Chris Westin commented on DRILL-3493:
-

[~vicky], aren't you doing alright now with the exception injector throwing 
OOM's instead? Can we close this?

> 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.3.0
>
>
> This proposal is to implement: 
> "alter session cancel  = true|false".
> where  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)


[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-08-24 Thread Chris Westin (JIRA)

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

Chris Westin commented on DRILL-3493:
-

[~adeneche], because of the EventProcessor, I think what you're proposing will 
have the same issue I described. We can talk it over outside this ticket before 
you proceed.

> 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  = true|false".
> where  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)


[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-08-24 Thread Deneche A. Hakim (JIRA)

[ 
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  = true|false".
> where  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)


[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution

2015-08-24 Thread Chris Westin (JIRA)

[ 
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  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  = true|false".
> where  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)