Tsuyoshi OZAWA commented on YARN-1954:

I see. One straight way is changing interface to accept log interval like 
{{waitFor(Supplier<Boolean> check, int checkEveryMillis, int logInterval)}}. 
It's more intuitive for me to initialize {{loggingCounterInitValue}} as 
{{logInterval}} directly. We can add simplified API {{waitFor(Supplier<Boolean> 
check, int checkEveryMillis)}} and  {{waitFor(Supplier<Boolean> check}} with 
{{logInterval}} set 1. [~zjshen], do you agree with this design?

> 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

Reply via email to