hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "sandflee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3546) AbstractYarnScheduler.getApplicationAttempt seems misleading, and there're some misuse of it
Date Thu, 30 Apr 2015 02:12:06 GMT

    [ https://issues.apache.org/jira/browse/YARN-3546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520706#comment-14520706

sandflee commented on YARN-3546:

[~jianhe],  thanks for your explanation, I stil have one doubt,

waitForSchedulerAppAttemptAdded(ApplicationAttemptId attemptId) in MockRM maybe expect to
waiting RMAppAttempt with attemptId to be SCHEDULED, actually It'll be true after first appAttempt
is SCHEDULED. It'll cause launch AM failed before YARN-3533. maybe waitForSchedulerAppAttemptAdded
should be corrected as below:

  int tick = 0;
    // Wait for at most 5 sec
    SchedulerApplicationAttempt attempt =
    while (null == attempt && attempt.getApplicationAttemptId().equals(attemptId)
== false
         && tick < 50) {
      if (tick % 10 == 0) {
        System.out.println("waiting for SchedulerApplicationAttempt="
            + attemptId + " added.");
      attempt =

so why waitForSchedulerAppAttemptAdded is not done as expected, I thought the deep reason
is getApplicationAttempt(attemptId) is misleading, Especially for the scheduler newbies ,
we may expect it to return corresponding sheduler app attempt with attemptId.

That's the reason why I suggest to rename it,  please correct me if anything wrong, thanks.

> AbstractYarnScheduler.getApplicationAttempt seems misleading,  and there're some misuse
of it
> ---------------------------------------------------------------------------------------------
>                 Key: YARN-3546
>                 URL: https://issues.apache.org/jira/browse/YARN-3546
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>            Reporter: sandflee
> I'm not familiar with scheduler,  with first eyes, I thought this func returns the schdulerAppAttempt
info corresponding to appAttemptId, but actually it returns the current schdulerAppAttempt.
> It seems misled others too, such as
> TestWorkPreservingRMRestart.waitForNumContainersToRecover
> MockRM.waitForSchedulerAppAttemptAdded
> should I rename it to T getCurrentSchedulerApplicationAttempt(ApplicationId applicationid)
> or returns null  if current attempt id not equals to the request attempt id ?
> comment preferred!

This message was sent by Atlassian JIRA

View raw message