[ 
https://issues.apache.org/jira/browse/HADOOP-6592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12837174#action_12837174
 ] 

Adam Kramer commented on HADOOP-6592:
-------------------------------------

bq. This meter would still be running even if the job is paused, so tasks or 
the entire job could be killed if its temp storage usage quota is reached.

In general, this seems like a good practice--when temporary storage is filled, 
whatever task is using said storage should be killed in FIFO order. This means 
that paused jobs' tasks could fail, at which point that map task would be 
returned to the "pending" queue.

bq. You need pre-emption, not pause.

Pre-emption doesn't address a potential desire to pause a task that's currently 
running when there are no other tasks waiting. Say my map task requires 3000 
mappers and my cluster has 1000. Then, when 1000 start running, I may pause in 
case other users submit jobs, in order to have at least some mappers free when 
they start their job. That is what I meant by "because I expect other tasks to 
arrive"--I meant other JOBS, submitted by other users, to whom I would like to 
be polite.

Or if another user is being impolite, it would be good to "pause" that user's 
job until I can walk by his desk and ask him if there's a way that doesn't 
thrash the cluster...if it turns out there isn't, he could just keep his job 
paused until the workday is over (and thus the cluster is mostly free).

A good stopgap in the meantime, that gets most of the desirable qualities of 
pause, would be the ability to set a ceiling on the number of map tasks my job 
could simultaneously use.

> Scheduler: Pause button desirable
> ---------------------------------
>
>                 Key: HADOOP-6592
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6592
>             Project: Hadoop Common
>          Issue Type: Wish
>            Reporter: Adam Kramer
>            Priority: Minor
>
> It would be lovely if, from the jobtracker page, I could click a button 
> that's not "kill" or "fail" but ..."pause."
> The pause button would stop a certain task from starting any more mappers or 
> reducers. They would all wait in the "pending" stage until the job is 
> "un-paused." Currently-running tasks would continue to run, and then 
> complete, thus freeing the resources for other jobs.
> This would help a lot for systems (esp. Hive) in which one or two jobs are 
> hogging a lot of mappers or reducers. The ones they have would finish, and 
> then other jobs could "catch up," and then they could be unpaused for a 
> while. This would also allow for user-level throttling of their jobs in 
> instances where they need a lot of resources but have the time to spare.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to