[ https://issues.apache.org/jira/browse/HADOOP-842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462377 ]
Hairong Kuang commented on HADOOP-842: -------------------------------------- Thanks Doug for your suggestion. I realized that passing the datanode port # as a part of clientMachine is not a good idea. When a datanode starts up, it tries to use the port from conf.get("dfs.datanode.port"). But if there is a failure, it tries a different port#. So it is not right that a dfs client simply assumes that the local datanode has the port# of conf.get("dfs.datanode.port"). I'd like to change the open method so that parameter clientMachine contains only hostName but no port#. At the name node side, the datanode list will be searched based on hostname not hostname:port#. > change the open method in ClientProtocol to take an additional argument: > clientMachine > -------------------------------------------------------------------------------------- > > Key: HADOOP-842 > URL: https://issues.apache.org/jira/browse/HADOOP-842 > Project: Hadoop > Issue Type: Improvement > Components: dfs > Affects Versions: 0.9.2 > Reporter: Hairong Kuang > Assigned To: Hairong Kuang > Fix For: 0.10.0 > > Attachments: open.patch > > > The open method returns a list of blocks that belong to a file and, for each > block, a list of datanodes that contain the block.To improve reading > efficiency, I'd like to return the list of datanodes in the order of its > distance to the client machine. So I suggest that we make the open method to > take an additional argument clientMachine which is in the format of > hostname:port#. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira