nijel commented on YARN-3813:

Thanks [~sunilg] and [~devaraj.k] for the comments

bq.How frequently are you going to check this condition for each application?
Plan is to have a configurable interval default to 30 sec 

bq.Could we have a new TIMEOUT event in RMAppImpl for this. In that case, we 
may not need a flag.
bq.I feel having a TIMEOUT state for RMAppImpl would be proper here. 

ok. We will add a TIMEOUT state and handle the changes
Due to this there will be few changes in app transitions, client package and 

bq.I have a suggestion here.We can have a BasicAppMonitoringManager which can 
keep an entry of <appId, app.getSubmissionTime>.
bq. when the application gets submitted to RM then we can register the 
application with RMAppTimeOutMonitor using the user specified timeout.

Yes. Good suggestion. This we will update as a registration mechanism. But 
since each application can have its own timeout period, the code reusability 
looks like minimal.

        local map (appid, timeout)
        add/register(appid, timeout)  --> from RMAppImpl
        Run -> if app is running/submitted and elapsed the time, kill it. If 
already completed, remove from map.
        No delete/unregister method  --> this application will be be removed 
from map from run method

> Support Application timeout feature in YARN. 
> ---------------------------------------------
>                 Key: YARN-3813
>                 URL: https://issues.apache.org/jira/browse/YARN-3813
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: scheduler
>            Reporter: nijel
>         Attachments: YARN Application Timeout .pdf
> It will be useful to support Application Timeout in YARN. Some use cases are 
> not worried about the output of the applications if the application is not 
> completed in a specific time. 
> *Background:*
> The requirement is to show the CDR statistics of last few  minutes, say for 
> every 5 minutes. The same Job will run continuously with different dataset.
> So one job will be started in every 5 minutes. The estimate time for this 
> task is 2 minutes or lesser time. 
> If the application is not completing in the given time the output is not 
> useful.
> *Proposal*
> So idea is to support application timeout, with which timeout parameter is 
> given while submitting the job. 
> Here, user is expecting to finish (complete or kill) the application in the 
> given time.
> One option for us is to move this logic to Application client (who submit the 
> job). 
> But it will be nice if it can be generic logic and can make more robust.
> Kindly provide your suggestions/opinion on this feature. If it sounds good, i 
> will update the design doc and prototype patch

This message was sent by Atlassian JIRA

Reply via email to