[ 
https://issues.apache.org/jira/browse/YARN-8278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16475303#comment-16475303
 ] 

Weiwei Yang commented on YARN-8278:
-----------------------------------

Hi [~bibinchundatt]

Thanks for the patch, please see my comments below

1. ServerRMProxy is used by NMs to talk with RM, and since LocalRM running on 
NMs need to talk to RM through {{DistributedSchedulingAMProtocol}}, it makes 
sense to allow this protocol in the proxy. However, can we follow the fashion 
used by {{ClientRMProxy}} class for the check, by adding an interface 
{{ServerRMProtocols}} just like following {{ClientRMProtocols}}
{code:java}
private interface ClientRMProtocols extends ApplicationClientProtocol, 
ApplicationMasterProtocol, ResourceManagerAdministrationProtocol {
  // Add nothing
}

Preconditions.checkArgument(protocol.isAssignableFrom(ClientRMProtocols.class), 
"RM does not support this client protocol");
{code}
2. {{TestServerRMProxy}}, line 31: throws IOException can be removed; line 33, 
defaultRMAddress can be removed.

3. Can you please fix the checkstyle issue

Thanks

> DistributedScheduling not working in HA
> ---------------------------------------
>
>                 Key: YARN-8278
>                 URL: https://issues.apache.org/jira/browse/YARN-8278
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 3.1.0
>            Reporter: Bibin A Chundatt
>            Assignee: Bibin A Chundatt
>            Priority: Blocker
>         Attachments: YARN-8278.001.patch
>
>
> Configured HA Cluster and submit application with distributed scheduling 
> configuration enabled
> {code}
> Caused by: 
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.yarn.exceptions.YarnRuntimeException):
>  java.lang.IllegalArgumentException: ResourceManager does not support this 
> protocol
>         at 
> org.apache.hadoop.yarn.server.nodemanager.amrmproxy.DefaultRequestInterceptor.init(DefaultRequestInterceptor.java:91)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.amrmproxy.AbstractRequestInterceptor.init(AbstractRequestInterceptor.java:82)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.scheduler.DistributedScheduler.init(DistributedScheduler.java:89)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.amrmproxy.AMRMProxyService.initializePipeline(AMRMProxyService.java:450)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.amrmproxy.AMRMProxyService.processApplicationStartRequest(AMRMProxyService.java:369)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl.startContainers(ContainerManagerImpl.java:942)
>         at 
> org.apache.hadoop.yarn.api.impl.pb.service.ContainerManagementProtocolPBServiceImpl.startContainers(ContainerManagementProtocolPBServiceImpl.java:101)
>         at 
> org.apache.hadoop.yarn.proto.ContainerManagementProtocol$ContainerManagementProtocolService$2.callBlockingMethod(ContainerManagementProtocol.java:223)
>         at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991)
>         at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869)
>         at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675)
> {code}
> {{ServerRMProxy#checkAllowedProtocols}} should allow 
> {{DistributedSchedulingAMProtocol}}
> {code}
>   public void checkAllowedProtocols(Class<?> protocol) {
>     Preconditions.checkArgument(
>         protocol.isAssignableFrom(ResourceTracker.class),
>         "ResourceManager does not support this protocol");
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to