[ https://issues.apache.org/jira/browse/HADOOP-10003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13782509#comment-13782509 ]
Suresh Srinivas commented on HADOOP-10003: ------------------------------------------ {noformat} // Use FileSystem's implementation return listLocatedStatus(f, DEFAULT_FILTER); {noformat} The above listLocatedStatus call actually uses listLocatedStatus implementation from FilterFileSystem and not FileSystem. Here is the issue. Before the patch: HarFileSystem#listLocatedStatus(path) in following call chain: -> FilterFileSystem#listLocatedStatus(path) --> FilterFileSystem's internal fs#listLocatedStatus(path) This essentially calls the underlying file system (local or HDFS) listLocatedStatus. With the patch: HarFileSystem#listLocatedStatus(path) in following call chain: -> FilterFileSystem#listLocatedStatus(path, filter) --> FileSystem#listLocatedStatus(path, filter) ---> FilterFileSystem#listStatus(path, filter) ---> FileSystem#listStatus(path, filter) ---> HarFileSystem#listStatus(path) Hence the HarFileSystem listStatus comes into picture and the patch fixes the bug. > HarFileSystem.listLocatedStatus() fails > --------------------------------------- > > Key: HADOOP-10003 > URL: https://issues.apache.org/jira/browse/HADOOP-10003 > Project: Hadoop Common > Issue Type: Bug > Components: fs > Affects Versions: 2.1.1-beta > Reporter: Jason Dere > Attachments: HADOOP-10003.1.patch, HADOOP-10003.2.patch, > HADOOP-10003.3.patch > > > It looks like HarFileSystem.listLocatedStatus() doesn't work properly because > it is inheriting FilterFileSystem's implementation. This is causing archive > unit tests to fail in Hive when using hadoop 2.1.1. > If HarFileSystem overrides listLocatedStatus() to use FileSystem's > implementation, the Hive unit tests pass. -- This message was sent by Atlassian JIRA (v6.1#6144)