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.
> 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
> 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
> 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