[jira] [Commented] (DRILL-3493) Alter session command with an option to cancel query in a particular phase of execution
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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)