[
https://issues.apache.org/jira/browse/YARN-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13975329#comment-13975329
]
Zhijie Shen commented on YARN-1954:
-----------------------------------
[~ozawa], thanks for taking care of this issue. I'd like to share some of my
thoughts on the patch:
1. waitForMillis is hard to be determined in advance, and it will be different
from job to job per framework. For long running service, it may be infinite.
It's better to think of whether we really want to timeout.
2. Maybe it's good to log something periodically in the method.
3. I saw you fixed one "onShutdownRequest" issue. It looks to me an orthogonal
issue. Please file a separate ticket about it to see whether the folks want to
trigger it every time AMRMClientAsync stops or only when AM_RESYNC and
AM_SHUTDOWN.
4. IMHO, AMRMClient seems to have the same requirement of this method, doesn't
it?
5. The test cases make use of Java thread wait/notify, which should be more
efficient than the busy wait. However, hadoop already lives with it. Hence I
think it should be okay for the new method to use busy loop inside (anyway, you
can think about using wait/notify as well here:-)). For the test cases, if you
want to make use the new method, you should delete notify part as well.
> 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
>
>
> 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)