[ https://issues.apache.org/jira/browse/HDFS-778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780386#action_12780386 ]
Suresh Srinivas commented on HDFS-778: -------------------------------------- Looks like datanodes are registering with IP address as the name in registration instead of host name. I in suspect o.a.h.net.DNS, {{InetAddress.getLocalHost().getCanonicalHostName()}} is returning the IP address. Not sure if this is due to some java SecurityManager issue. > DistributedFileSystem.getFileBlockLocations() may occasionally return numeric > ips as hostnames. > ----------------------------------------------------------------------------------------------- > > Key: HDFS-778 > URL: https://issues.apache.org/jira/browse/HDFS-778 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Hong Tang > > DistributedFileSystem.getFileBlockLocations() may occasionally return numeric > ips as hostnames. This seems to be a breach of the > FileSystem.getFileBlockLocation() contract: > {noformat} > /** > * Return an array containing hostnames, offset and size of > * portions of the given file. For a nonexistent > * file or regions, null will be returned. > * > * This call is most helpful with DFS, where it returns > * hostnames of machines that contain the given file. > * > * The FileSystem will simply return an elt containing 'localhost'. > */ > public BlockLocation[] getFileBlockLocations(FileStatus file, > long start, long len) throws IOException > {noformat} > One (maybe minor) consequence of this issue is: When a job includes such > numeric ips in in its splits' locations, JobTracker would not be able to > assign the job's map tasks local to the file blocks. > We should either fix the implementation or change the contract. In the latter > case, JobTracker needs to be fixed to maintain both the hostnames and ips of > the TaskTrackers. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.