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

Subru Krishnan commented on YARN-5411:
--------------------------------------

Thanks [~giovanni.fumarola] for the patch. I looked at it & please find my 
comments below:

  * There are quite a few Yetus warnings, kindly fix them.
  * I saw some TODOs, can you either address them or open follow-up jira and 
refer in comment.
  * {{LRUCacheHashMap}} should be moved to yarn-common as it's generally useful.
  * I feel we should drop the _proxy_ suffix in package names.
  * I am not a fan of adding more configs in {{YarnConfiguration}}. Can we 
reuse from the RM config, for e.g.: the number of worker threads.
  * There's a typo in {{YarnConfiguration}}, ROUTER_PREFIX should be 
YARN_FEDERATION_PREFIX + "router".
  * In {{ClientRMProxyService}}, please add code comments on the usage of 
LRUCache.
  * We should refactor & reuse 
*ClientRMProxyService::getInterceptorClassNames/createRequestInterceptorChain* 
with {{AMRMProxyService}}?
  * *getPipelines* should have only test visibility in {{ClientRMProxyService}}.
  * {{ClientRequestInterceptor::init}}, may be more efficient to directly use 
UGI as we seem to double translating now.
  * Rename *clientRM* --> *clientRMProxy* in 
{{DefaultClientRequestInterceptor}}.

Feedback on tests:

  * We should run the {{ClientRMProxyService}} with the 
{{DefaultClientRequestInterceptor}} directly using the 
[TestClientRMService|https://github.com/apache/hadoop/blob/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java]
 in the RM module.
  * {{MockResourceManagerFacade}} - we already added one in YARN-2884 and I 
have already suggested to reuse it in YARN-5531. Can you also refactor into 
common module and reuse?
  * {{MockClientRequestInterceptor}} should extend 
DefaultClientRequestInterceptor and only override init.
  * *testRequestInterceptorChainCreation* - remove the switch case as it's 
confusing.
  * I didn't grok *testUsersChainMapWithLRUCache*, the pipeline count should 
not increase as we are not using different users and even if it did increase, 
_test1_ should be evicted?

> Create a proxy chain for ApplicationClientProtocol in the Router
> ----------------------------------------------------------------
>
>                 Key: YARN-5411
>                 URL: https://issues.apache.org/jira/browse/YARN-5411
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager, resourcemanager
>            Reporter: Subru Krishnan
>            Assignee: Giovanni Matteo Fumarola
>         Attachments: YARN-5411-YARN-2915.v1.patch
>
>
> As detailed in the proposal in the umbrella JIRA, we are introducing a new 
> component that routes client request to appropriate ResourceManager(s). This 
> JIRA tracks the creation of a proxy for ApplicationClientProtocol in the 
> Router. This provides a placeholder for:
> 1) throttling mis-behaving clients (YARN-1546)
> 3) mask the access to multiple RMs (YARN-3659)
> We are planning to follow the interceptor pattern like we did in YARN-2884 to 
> generalize the approach and have only dynamically coupling for Federation.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to