[ 
https://issues.apache.org/jira/browse/HADOOP-6469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmytro Molkov resolved HADOOP-6469.
-----------------------------------

    Resolution: Not A Problem

I will close this one since I already solved HDFS-599 by simply using the 
server's address to find out where the request is coming from.
If anyone feels like this functionality should be in there please reopen.

> Multiple RPC Servers using same object instance
> -----------------------------------------------
>
>                 Key: HADOOP-6469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6469
>             Project: Hadoop Common
>          Issue Type: New Feature
>            Reporter: Dmytro Molkov
>            Assignee: Dmytro Molkov
>
> In HDFS-599 we want to be able to run multiple RPC servers on the namenode. 
> One for DataNodes another for the rest of the protocols.
> The problem right now is that checking if the protocol is exposed is done on 
> the handler side (the NameNode in our case).
> In our usecase we want to be able to tell if the request is coming on the 
> "datanode port" or "the rest port" and based on that throw an exception when 
> datanodes are accessing the client port and vice versa. Since the JobTracker 
> has the same abstraction of Clients and Slaves those might later also be 
> split on to different servers. So creating a solution just inside of the 
> NameNode is not really an options, especially since we could not come up with 
> one that would be clean and safe.
> The proposal is to have RPC servers have "tags" associated with them in these 
> cases. Then in the NameNode 2 servers created will have tags "DataNodeServer" 
> and "ClientAdminServer". Another change is instead of using VersionedProtocol 
> to check the version and the protocol in the getProtocolVersion method, 
> Classes that can be used in multiple contexts should implement another 
> interface (MultiServer?) that will have a checkProtocol? method that receives 
> the name of the protocol and the Tag associated with the Server that received 
> the request. This way in the checkProtocol we can specify which Protocols are 
> allowed for servers tagged with Tag.
> What do people think?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to