You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/04/05 17:47:00 UTC

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

     [ https://issues.apache.org/jira/browse/HIVE-24201?focusedWorklogId=576987&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-576987 ]

ASF GitHub Bot logged work on HIVE-24201:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 05/Apr/21 17:46
            Start Date: 05/Apr/21 17:46
    Worklog Time Spent: 10m 
      Work Description: Dawn2111 commented on pull request #2065:
URL: https://github.com/apache/hive/pull/2065#issuecomment-813531492


   @sankarh, refactored code to mark the WmTezSession as delayed move so that duplicate move session events are not created for a delayed move every time the triggers are validated. Also, added delayed move retry and expiry. Could you please review?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 576987)
    Time Spent: 1.5h  (was: 1h 20m)

> 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: Improvement
>          Components: HiveServer2, llap
>    Affects Versions: 4.0.0
>            Reporter: Adesh Kumar Rao
>            Assignee: Pritha Dawn
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 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.
> Currently, the Workload management move trigger kills the query being moved to a different pool if destination pool does not have enough capacity.  We could have a "delayed move" configuration which lets the query run in the source pool as long as possible, if the destination pool is full. It will attempt the move to destination pool only when there is claim upon the source pool. If the destination pool is not full, delayed move behaves as normal move i.e. the move will happen immediately.



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