zhihai xu commented on YARN-3749:

Hi [~chenchun], thanks for filing and working on this issue.
The patch seems reasonable to me.
Some nits: 
1. It looks like setRpcAddressForRM and setConfForRM are only used by test 
code. Should we create a new HA test utility file to include these functions?

2. Do we really need the following change at {{MiniYARNCluster#serviceInit}}
conf.set(YarnConfiguration.RM_HA_ID, "rm0");
Because I saw {{initResourceManager}} will also configure {{RM_HA_ID}}.

3. Is any particular reason to configure {{YarnConfiguration.RM_HA_ID}} as 
{{RM2_NODE_ID}}  instead of {{RM1_NODE_ID}} in ProtocolHATestBase?
conf.set(YarnConfiguration.RM_HA_ID, RM2_NODE_ID);

> We should make a copy of configuration when init MiniYARNCluster with 
> multiple RMs
> ----------------------------------------------------------------------------------
>                 Key: YARN-3749
>                 URL: https://issues.apache.org/jira/browse/YARN-3749
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Chun Chen
>            Assignee: Chun Chen
>         Attachments: YARN-3749.2.patch, YARN-3749.patch
> When I was trying to write a test case for YARN-2674, I found DS client 
> trying to connect to both rm1 and rm2 with the same address 
> when RM failover. But I initially set 
> yarn.resourcemanager.address.rm1=, 
> yarn.resourcemanager.address.rm2=  After digging, I found it is 
> in ClientRMService where the value of yarn.resourcemanager.address.rm2 
> changed to See the following code in ClientRMService:
> {code}
> clientBindAddress = conf.updateConnectAddr(YarnConfiguration.RM_BIND_HOST,
>                                                YarnConfiguration.RM_ADDRESS,
> YarnConfiguration.DEFAULT_RM_ADDRESS,
>                                                server.getListenerAddress());
> {code}
> Since we use the same instance of configuration in rm1 and rm2 and init both 
> RM before we start both RM, we will change yarn.resourcemanager.ha.id to rm2 
> during init of rm2 and yarn.resourcemanager.ha.id will become rm2 during 
> starting of rm1.
> So I think it is safe to make a copy of configuration when init both of the 
> rm.

This message was sent by Atlassian JIRA

Reply via email to