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

Daniel Dai commented on HIVE-20549:
-----------------------------------

[~maheshk114],
1. will do
2. depends on how we implement #5. If we use tag to kill children, then id is 
not necessary.
3. will do
4. 5. 6. are related and mainly on how do we deal with orphan application. The 
orphan application means the hs2 die after user submit tez/mr jobs, and thus no 
hs2 instance is tracking the operation.
4. I still want user has the capacity to kill his own orphan application, 
that's why I killChildYarnJobs even when “numCanceled == 0”
5. For orphan application, there's no way to find queryid from operation
6. Again, I don't want to delegate to admin when self-serving is still possible

> Allow user set query tag, and kill query with tag
> -------------------------------------------------
>
>                 Key: HIVE-20549
>                 URL: https://issues.apache.org/jira/browse/HIVE-20549
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>            Priority: Major
>             Fix For: 4.0.0, 3.2.0
>
>         Attachments: HIVE-20549.1.patch, HIVE-20549.2.patch
>
>
> HIVE-19924 add capacity for replication job set a query tag and kill the 
> replication distcp job with the tag. Here I make it more general, user can 
> set arbitrary "hive.query.tag" in sql script, and kill query with the tag. 
> Hive will cancel the corresponding operation in hs2, along with Tez/MR 
> application launched for the query. For example:
> {code}
> set hive.query.tag=mytag;
> select ..... -- long running query
> {code}
> In another session:
> {code}
> kill query 'mytag';
> {code}
> There're limitations in the implementation:
> 1. No tag duplication check. There's nothing to prevent conflicting tag for 
> same user, and kill query will kill queries share the same tag. However, kill 
> query will not kill queries from different user unless admin. So different 
> user might share the same tag
> 2. In multiple hs2 environment, kill statement should be issued to all hs2 to 
> make sure the corresponding operation is canceled. When beeline/jdbc connects 
> to hs2 using regular way (zookeeper url), the session will connect to random 
> hs2, which might be different than the hs2 where query run on. User can use 
> HiveConnection.getAllUrls or beeline --getUrlsFromBeelineSite (HIVE-20507) to 
> get a list of all hs2 instances.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to