[
https://issues.apache.org/jira/browse/YARN-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14068411#comment-14068411
]
Zhijie Shen commented on YARN-1954:
-----------------------------------
[~ozawa], I'm generally fine with the patch. Just some minor comments.
1. Throw IllegalArgumentException instead?
{code}
+ if (checkEveryMillis <= 0) {
+ checkEveryMillis = 10000;
+ }
{code}
2. What if checkEveryMillis > 60000? Maybe we can simply hard code the fix
number of rounds to output a warning log. And don't output a warning long in
each round, and a info log at regular intervals. How do you think?
{code}
+ final int loggingCounterInitValue = 60000 / checkEveryMillis;
+ int loggingCounter = loggingCounterInitValue;
{code}
3. There's unnecessary changes in AMRMClientAsyncImpl
4. In TestAMRMClient #testWaitFor, can you justify countDownChecker#counter ==
3 after waitFor.
5. Not necessary to be in a synchronized block if you don't use wait here.
{code}
+ synchronized (callbackHandler.notifier) {
+ asyncClient.registerApplicationMaster("localhost", 1234, null);
+ asyncClient.waitFor(checker);
+ }
{code}
> Add waitFor to AMRMClient(Async)
> --------------------------------
>
> Key: YARN-1954
> URL: https://issues.apache.org/jira/browse/YARN-1954
> Project: Hadoop YARN
> Issue Type: New Feature
> Components: client
> Affects Versions: 3.0.0, 2.4.0
> Reporter: Zhijie Shen
> Assignee: Tsuyoshi OZAWA
> Attachments: YARN-1954.1.patch, YARN-1954.2.patch, YARN-1954.3.patch,
> YARN-1954.4.patch, YARN-1954.4.patch
>
>
> Recently, I saw some use cases of AMRMClient(Async). The painful thing is
> that the main non-daemon thread has to sit in a dummy loop to prevent AM
> process exiting before all the tasks are done, while unregistration is
> triggered on a separate another daemon thread by callback methods (in
> particular when using AMRMClientAsync). IMHO, it should be beneficial to add
> a waitFor method to AMRMClient(Async) to block the AM until unregistration or
> user supplied check point, such that users don't need to write the loop
> themselves.
--
This message was sent by Atlassian JIRA
(v6.2#6252)