[ https://issues.apache.org/jira/browse/HDFS-778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Allen Wittenauer updated HDFS-778: ---------------------------------- Labels: ipv6 (was: ) > 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 > Labels: ipv6 > > 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 was sent by Atlassian JIRA (v6.3.4#6332)