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

Erik Krogen commented on HDFS-14162:
------------------------------------

I attached a quick-and-dirty demonstration patch 
([^HDFS-14162-HDFS-12943.wip0.patch]) showing how we can solve this by making 
{{NameNodeHAProxyFactory}} aware of {{AlignmentContext}}, and making 
{{ObserverReadProxyProvider}} keep track of a {{ClientProtocol}} proxy in 
addition to its main proxy. In the normal case of ORPP with {{ClientProtocol}}, 
the same protocol object is used; in the case of a different protocol (e.g. 
{{NameNodeProtocol}}), it instantiates an extra client proxy to use for 
{{getHAServiceState()}}. It's not the cleanest way of solving the problem -- I 
don't really like needing to directly instantiate the {{ClientProtocol}} 
instead of being able to use the factory -- but it works.

I also had to modify the test slightly -- the way the DataNodes were created 
didn't seem to work properly.

> Balancer should work with ObserverNode
> --------------------------------------
>
>                 Key: HDFS-14162
>                 URL: https://issues.apache.org/jira/browse/HDFS-14162
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Konstantin Shvachko
>            Priority: Major
>         Attachments: HDFS-14162-HDFS-12943.wip0.patch, 
> testBalancerWithObserver.patch
>
>
> Balancer provides a substantial RPC load on NameNode. It would be good to 
> divert Balancer RPCs {{getBlocks()}}, etc. to ObserverNode. The main problem 
> is that Balancer uses {{NamenodeProtocol}}, while ORPP currently supports 
> only {{ClientProtocol}}.



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

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

Reply via email to