[ 
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 <code>ApplicationTimeouts</code> of the application.
   *
   * @param applicationTimeouts for the application.
   */
  @Public
  @Unstable
  public abstract void setApplicationTimeouts(
      ApplicationTimeouts applicationTimeouts);
{code}
Please change
   Get <code>ApplicationTimeouts</code> of the application.
to
   Set <code>ApplicationTimeouts</code> 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-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to