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 =
        ((AbstractYarnScheduler)rm.getResourceScheduler()).getApplicationAttempt(attemptId);
    while (null == attempt && attempt.getApplicationAttemptId().equals(attemptId)
== false
         && tick < 50) {
      Thread.sleep(100);
      if (tick % 10 == 0) {
        System.out.println("waiting for SchedulerApplicationAttempt="
            + attemptId + " added.");
      }
      tick++;
      attempt =
          ((AbstractYarnScheduler)rm.getResourceScheduler()).getApplicationAttempt(attemptId);
    }

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
(v6.3.4#6332)

Mime
View raw message