You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Adesh Kumar Rao (Jira)" <ji...@apache.org> on 2020/09/24 16:36:00 UTC

[jira] [Created] (HIVE-24201) WorkloadManager kills query being moved to different pool if destination pool does not have enough sessions

Adesh Kumar Rao created HIVE-24201:
--------------------------------------

             Summary: WorkloadManager kills query being moved to different pool if destination pool does not have enough sessions
                 Key: HIVE-24201
                 URL: https://issues.apache.org/jira/browse/HIVE-24201
             Project: Hive
          Issue Type: Bug
          Components: HiveServer2, llap
    Affects Versions: 4.0.0
            Reporter: Adesh Kumar Rao
            Assignee: Nikhil Gupta


To reproduce, create a resource plan with move trigger, like below:
{code:java}
+----------------------------------------------------+
|                        line                        |
+----------------------------------------------------+
| experiment[status=DISABLED,parallelism=null,defaultPool=default] |
|  +  default[allocFraction=0.888,schedulingPolicy=null,parallelism=1] |
|      |  mapped for default                         |
|  +  pool2[allocFraction=0.1,schedulingPolicy=fair,parallelism=1] |
|      |  trigger t1: if (ELAPSED_TIME > 20) { MOVE TO pool1 } |
|      |  mapped for users: abcd                   |
|  +  pool1[allocFraction=0.012,schedulingPolicy=null,parallelism=1] |
|      |  mapped for users: efgh                   |
 
{code}
Now, run two queries in pool1 and pool2 using different users. The query running in pool2 will tried to move to pool1 and it will get killed because pool1 will not have session to handle the query.

Once killed this query needs to be re-run externally. It can be optimized and should be retried to run in destination pool directly(it will get queued and run once the session is alive).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)