[ https://issues.apache.org/jira/browse/YARN-4205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15505337#comment-15505337 ]
Gour Saha commented on YARN-4205:
---------------------------------
Few comments:
h6. \[ApplicationTimeouts.java\]
This class already has timeouts in its name. Should we name the fields as *lifetime* (and the future ones like *queueTime* and *stateStoreTime*)? lifetime is pretty clear by itself, lifeTimeout sounds like double superlative. Thoughts?
h6. \[YarnConfiguration.java\]
{code}
// Configurations for applicaiton life time monitor feature
public static final String RM_APPLICATION_LIFETIME_MONITOR_INTERVAL_MS =
RM_PREFIX + "application.lifetimeout-monitor.interval-ms";
{code}
Similarly, I think _lifetimeout-monitor_ is a mouthful. In similar lines as above, I suggest *application-timeouts.lifetime-monitor.interval-ms* (and the future ones like *application-timeouts.queuetime-monitor.interval-ms* and *application-timeouts.statestoretime-monitor.interval-ms*)
h6. \[ApplicationSubmissionContext.java\]
{code}
/**
* Get ApplicationTimeouts
of the application.
*
* @param applicationTimeouts for the application.
*/
@Public
@Unstable
public abstract void setApplicationTimeouts(
ApplicationTimeouts applicationTimeouts);
{code}
Please change
Get ApplicationTimeouts
of the application.
to
Set ApplicationTimeouts
for the application.
h6. \[yarn_protos.proto\]
{code}
optional int64 life_timeout = 1 [default = -1];
{code}
life_timeout -> lifetime
h6. \[AbstractLivelinessMonitor.java\]
{code}
public synchronized void register(O ob, long timeout) {
running.put(ob, timeout);
{code}
For the second argument, do we mean timeout or submitTime?
h6. \[RMAppLifetimeMonitor.java\]
{code}
// Don't trigger an KILL event if application is in completed states
{code}
Change to -
// Don't trigger a KILL event if application is in any of the completed states
h6. \[MockRM.java\]
Add a new line before the below method -
{code}
public RMApp submitApp(int masterMemory, Priority priority,
{code}
h6. \[TestApplicationLifetimeMonitor.java\]
{code}
MockNM nm1 = rm.registerNode("127.0.0.1:1234", 16 * 1024);
and
new MockNM("127.0.0.1:1234", 8192, rm1.getResourceTrackerService());
{code}
Hardcoded ports cause unit test parallelization challenges. Is it possible to request a free port from the OS?
> Add a service for monitoring application life time out
> ------------------------------------------------------
>
> Key: YARN-4205
> URL: https://issues.apache.org/jira/browse/YARN-4205
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: scheduler
> Reporter: nijel
> Assignee: Rohith Sharma K S
> Attachments: 0001-YARN-4205.patch, 0002-YARN-4205.patch, 0003-YARN-4205.patch, 0004-YARN-4205.patch, YARN-4205_01.patch, YARN-4205_02.patch, YARN-4205_03.patch
>
>
> This JIRA intend to provide a lifetime monitor service.
> The service will monitor the applications where the life time is configured. If the application is running beyond the lifetime, it will be killed.
> The lifetime will be considered from the submit time.
> The thread monitoring interval is configurable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org