[
https://issues.apache.org/jira/browse/HIVE-21694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
mahesh kumar behera updated HIVE-21694:
---------------------------------------
Description: During a command execution hive driver executes the task in a
separate thread if the task to be executed is set as parallel. After starting
the task, driver checks if the task has finished execution or not. If the task
execution is not finished it waits for 2 seconds before waking up again to
check the task status. In case of task with execution time in milliseconds,
this wait time can induce substantial overhead. So the execution thread can
call notify to interrupt the wait call. This will make sure that the next
thread execution can start immediately. (was: During a command execution hive
driver executes the task in a separate thread if the task to be executed is set
as parallel. After starting the task, driver checks if the task has finished
execution or not. If the task execution is not finished it waits for 2 seconds
before waking up again to check the task status. In case of task with execution
time in milliseconds, this wait time can induce substantial overhead. So
instead of fixed wait time, exponential backedup sleep time can be used to
reduce the sleep overhead. The sleep time can start with 100ms and can increase
up to 2 seconds doubling on each iteration.)
> Hive driver wait time is fixed for task getting executed in parallel.
> ---------------------------------------------------------------------
>
> Key: HIVE-21694
> URL: https://issues.apache.org/jira/browse/HIVE-21694
> Project: Hive
> Issue Type: Bug
> Components: HiveServer2
> Affects Versions: 4.0.0
> Reporter: mahesh kumar behera
> Assignee: mahesh kumar behera
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0
>
> Attachments: HIVE-21694.01.patch, HIVE-21694.02.patch
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> During a command execution hive driver executes the task in a separate thread
> if the task to be executed is set as parallel. After starting the task,
> driver checks if the task has finished execution or not. If the task
> execution is not finished it waits for 2 seconds before waking up again to
> check the task status. In case of task with execution time in milliseconds,
> this wait time can induce substantial overhead. So the execution thread can
> call notify to interrupt the wait call. This will make sure that the next
> thread execution can start immediately.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)