[
https://issues.apache.org/jira/browse/HIVE-17508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16183007#comment-16183007
]
Prasanth Jayachandran commented on HIVE-17508:
----------------------------------------------
Like the idea of f(<Query>, <Rule>) -> <Action>, all applied in WM. The initial
issue was with the poll semantics for getting the progress in driver code which
will essentially loop in TezJobMonitor. I will probably add some listener for
counters, TezJobMonitor will then publish to those listeners (WM). I will
address your comments in the next patch.
As far as the grammar for expression goes, I don't think a full fledged grammar
would be required. Isn't there a jira already to handle the frontend? I added
this primarily by seeing the schema in the metastore which stores the
expression as varchar. If frontend grammar already exists then I can reuse,
else I will add the grammar in a follow up and integrate it with this patch.
The only expression of interest is greater than '>'. Also having >1 rule is
equivalent of disjunctive evaluation. Any rule violation will trigger action
instead of all rule violation. IMHO conjunctive evaluation can be added later
with full fledged grammar.
> Implement pool rules and triggers based on counters
> ---------------------------------------------------
>
> Key: HIVE-17508
> URL: https://issues.apache.org/jira/browse/HIVE-17508
> Project: Hive
> Issue Type: Sub-task
> Affects Versions: 3.0.0
> Reporter: Prasanth Jayachandran
> Assignee: Prasanth Jayachandran
> Attachments: HIVE-17508.1.patch, HIVE-17508.2.patch,
> HIVE-17508.3.patch, HIVE-17508.3.patch, HIVE-17508.WIP.2.patch,
> HIVE-17508.WIP.patch
>
>
> Workload management can defined Rules that are bound to a resource plan. Each
> rule can have a trigger expression and an action associated with it. Trigger
> expressions are evaluated at runtime after configurable check interval, based
> on which actions like killing a query, moving a query to different pool etc.
> will get invoked. Simple rule could be something like
> {code}
> CREATE RULE slow_query IN resource_plan_name
> WHEN execution_time_ms > 10000
> MOVE TO slow_queue
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)