Daniel Templeton commented on YARN-5901:

Ditto on the error message.  You can assert that the {{await()}} is true.  In 
fact, without the assert, you'll continue on even if the RM doesn't start.

Otherwise, looks great.  Nice use of a {{CountDownLatch}}.

> Fix race condition in TestGetGroups beforeclass setup()
> -------------------------------------------------------
>                 Key: YARN-5901
>                 URL: https://issues.apache.org/jira/browse/YARN-5901
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: yarn
>    Affects Versions: 3.0.0-alpha1
>            Reporter: Haibo Chen
>            Assignee: Haibo Chen
>              Labels: unittest
>         Attachments: yarn5901.001.patch
> In TestGetGroups, the class-level setup method spins up, in a child thread, a 
> resource manager that Yarn clients can talk to. But it checks whether the 
> resource manager is fully started by doing resourcemanager.getServiceState() 
> == STATE.STARTED. This is not reliable since resourcemanager.start() will 
> first trigger service state change in RM, and then starts up all the services 
> added to RM. We need to wait for RM to fully start before YARN clients  can 
> send requests. Otherwise, the tests can fail due to "connection refused"  
> exception when the main thread sends out client requests to RM and if the RPC 
> server has not fired up in the child thread.  

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to