hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Templeton (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4807) MockAM#waitForState sleep duration is too long
Date Thu, 24 Mar 2016 15:45:25 GMT

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

Daniel Templeton commented on YARN-4807:
----------------------------------------

[~yufeigu], thanks for the patch.  I have a few comments:

*MockRM*

{code}
108:  static final int timeoutMsecsForApp = 80000;
109:  static final int timeoutMsecs = 40000;
110:  static final int minWaitMsecs = 1000;
111:  static final int waitMsPerLoop = 10;
{code}

Those should all be snake case, e.g. {{TIMEOUT_MSECS}} and probably protected so that subclasses
can use them.  More importantly, I don't think the first three are helping anything.  {{timeoutMsecsForApp}}
and {{minWaitMsecs}} are only used once, so moving them out to a constant just makes the code
harder to follow.  The additional clarity gained from giving the number a name is pretty minimal
since that information is already provided by context.  Making them constants means I have
to go look up the value of the constant, though, so the net result is that the code is a tiny
bit harder to read.

Using {{timeoutMsecs}} instead of the timeout parameter of the {{waitForState()}} method is
a bad idea.  You've replaced a configurable timeout that was 10s, 30s, or 40s in practice
with a fixed 40s timeout.  That seems against the goals of the JIRA.

I'm a little suspicious of dropping the {{waitForContainer...()}} methods in favor of {{waitForState()}},
but if the unit tests still pass, who am I to complain?

*MockAM*

{code}
80:    final int timeoutMsecs = MockRM.timeoutMsecs;
81:    final int minWaitMsecs = MockRM.minWaitMsecs;
82:    final int waitMsPerLoop = MockRM.waitMsPerLoop;
{code}

You should just use the constants directly instead of assigning their values to intermediate
variables.

> MockAM#waitForState sleep duration is too long
> ----------------------------------------------
>
>                 Key: YARN-4807
>                 URL: https://issues.apache.org/jira/browse/YARN-4807
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>    Affects Versions: 2.8.0
>            Reporter: Karthik Kambatla
>            Assignee: Yufei Gu
>              Labels: newbie
>         Attachments: YARN-4807.001.patch
>
>
> MockAM#waitForState sleep duration (500 ms) is too long. Also, there is significant duplication
with MockRM#waitForState.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message