You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Daniel Dai (JIRA)" <ji...@apache.org> on 2018/10/19 03:57:00 UTC

[jira] [Comment Edited] (HIVE-20549) Allow user set query tag, and kill query with tag

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

Daniel Dai edited comment on HIVE-20549 at 10/19/18 3:56 AM:
-------------------------------------------------------------

Patch pushed to master. Thanks [~maheshk114], [~thejas], [~sershe] for review!


was (Author: daijy):
Patch pushed to master. Thanks [~thejas], [~sershe] for review!

> 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-20549.4.patch, HIVE-20549.5.patch, HIVE-20549.6.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)