hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Dere (JIRA)" <>
Subject [jira] [Commented] (HIVE-5070) Need to implement listLocatedStatus() in ProxyFileSystem for 0.23 shim
Date Thu, 19 Sep 2013 23:21:52 GMT


Jason Dere commented on HIVE-5070:

Just looking at this a bit closer, and it appears that listLocatedStatus() was added in hadoop-0.22.0.
 It's only hadoop-2.1.1 that MapReduce has been using this method which is breaking the unit
tests.  So really I think it would be ok for this method to be overridden in 20/20S/23 - I
think the original patch v1 should be sufficient, sorry for the extra work Shanyu! Does anyone
else agree that the v1 patch should be fine to fix this issue, without having to resort to
a new shim method?
> Need to implement listLocatedStatus() in ProxyFileSystem for 0.23 shim
> ----------------------------------------------------------------------
>                 Key: HIVE-5070
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: CLI
>    Affects Versions: 0.12.0
>            Reporter: shanyu zhao
>             Fix For: 0.13.0
>         Attachments: HIVE-5070.patch.txt, HIVE-5070-v2.patch, HIVE-5070-v3.patch
> MAPREDUCE-1981 introduced a new API for FileSystem - listLocatedStatus. It is used in
Hadoop's FileInputFormat.getSplits(). Hive's ProxyFileSystem class needs to implement this
API in order to make Hive unit test work.
> Otherwise, you'll see these exceptions when running TestCliDriver test case, e.g. results
of running allcolref_in_udf.q:
> [junit] Running org.apache.hadoop.hive.cli.TestCliDriver
>     [junit] Begin query: allcolref_in_udf.q
>     [junit] java.lang.IllegalArgumentException: Wrong FS: pfile:/GitHub/Monarch/project/hive-monarch/build/ql/test/data/warehouse/src,
expected: file:///
>     [junit] 	at org.apache.hadoop.fs.FileSystem.checkPath(
>     [junit] 	at org.apache.hadoop.fs.RawLocalFileSystem.pathToFile(
>     [junit] 	at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(
>     [junit] 	at org.apache.hadoop.fs.FileSystem.listStatus(
>     [junit] 	at org.apache.hadoop.fs.FileSystem.listStatus(
>     [junit] 	at org.apache.hadoop.fs.FileSystem$4.<init>(
>     [junit] 	at org.apache.hadoop.fs.FileSystem.listLocatedStatus(
>     [junit] 	at org.apache.hadoop.fs.ChecksumFileSystem.listLocatedStatus(
>     [junit] 	at org.apache.hadoop.fs.FilterFileSystem.listLocatedStatus(
>     [junit] 	at org.apache.hadoop.fs.FilterFileSystem.listLocatedStatus(
>     [junit] 	at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(
>     [junit] 	at org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.getSplits(
>     [junit] 	at org.apache.hadoop.mapred.lib.CombineFileInputFormat.getSplits(
>     [junit] 	at org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(
>     [junit] 	at org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(
>     [junit] 	at
>     [junit] 	at org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(
>     [junit] 	at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(
>     [junit] 	at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(
>     [junit] 	at org.apache.hadoop.mapreduce.Job$
>     [junit] 	at org.apache.hadoop.mapreduce.Job$
>     [junit] 	at Method)
>     [junit] 	at
>     [junit] 	at
>     [junit] 	at org.apache.hadoop.mapreduce.Job.submit(
>     [junit] 	at org.apache.hadoop.mapred.JobClient$
>     [junit] 	at org.apache.hadoop.mapred.JobClient$
>     [junit] 	at Method)
>     [junit] 	at
>     [junit] 	at
>     [junit] 	at org.apache.hadoop.mapred.JobClient.submitJobInternal(
>     [junit] 	at org.apache.hadoop.mapred.JobClient.submitJob(
>     [junit] 	at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(
>     [junit] 	at org.apache.hadoop.hive.ql.exec.ExecDriver.main(
>     [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke(
>     [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(
>     [junit] 	at java.lang.reflect.Method.invoke(
>     [junit] 	at org.apache.hadoop.util.RunJar.main(

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message