[ 
https://issues.apache.org/jira/browse/HIVE-20549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Dai updated HIVE-20549:
------------------------------
    Attachment: HIVE-20549.3.patch

> 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-20549.3.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