[
https://issues.apache.org/jira/browse/HIVE-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kevin Wilfong updated HIVE-3429:
--------------------------------
Status: Patch Available (was: Open)
> Bucket map join involving table with more than 1 partition column causes
> FileNotFoundException
> ----------------------------------------------------------------------------------------------
>
> Key: HIVE-3429
> URL: https://issues.apache.org/jira/browse/HIVE-3429
> Project: Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.10.0
> Reporter: Kevin Wilfong
> Assignee: Kevin Wilfong
> Attachments: HIVE-3429.1.patch.txt
>
>
> Running a bucket map join exception on a table with more than one partition
> results in an exception is below. This is because the partition spec is
> added to the file name, which unintentionally, produces a new subdirectory.
> [junit] java.io.FileNotFoundException:
> /Users/kevinwilfong/Documents/hive_driver_start/build/ql/scratchdir/local/hive_2012-09-04_18-35-38_679_3765928822897237252/-local-10002/HashTable-Stage-1/MapJoin-b-21-(ds=2008-04-08
> (No such file or directory)
> [junit] at java.io.FileInputStream.open(Native Method)
> [junit] at java.io.FileInputStream.<init>(FileInputStream.java:120)
> [junit] at
> org.apache.hadoop.hive.common.CompressionUtils.tar(CompressionUtils.java:59)
> [junit] at
> org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:398)
> [junit] at
> org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:137)
> [junit] at
> org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:135)
> [junit] at
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
> [junit] at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326)
> [junit] at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1112)
> [junit] at org.apache.hadoop.hive.ql.Driver.run(Driver.java:945)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:347)
> [junit] at
> org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:712)
> [junit] at
> org.apache.hadoop.hive.cli.TestMinimrCliDriver.testCliDriver_bucketmapjoin7(TestMinimrCliDriver.java:288)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [junit] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [junit] at java.lang.reflect.Method.invoke(Method.java:597)
> [junit] at junit.framework.TestCase.runTest(TestCase.java:168)
> [junit] at junit.framework.TestCase.runBare(TestCase.java:134)
> [junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
> [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
> [junit] at junit.framework.TestResult.run(TestResult.java:113)
> [junit] at junit.framework.TestCase.run(TestCase.java:124)
> [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232)
> [junit] at junit.framework.TestSuite.run(TestSuite.java:227)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
> [junit] java.lang.IllegalArgumentException: Can not create a Path from an
> empty string
> [junit] at org.apache.hadoop.fs.Path.checkPathArg(Path.java:82)
> [junit] at org.apache.hadoop.fs.Path.<init>(Path.java:90)
> [junit] at
> org.apache.hadoop.hive.ql.exec.Utilities.getHiveJobID(Utilities.java:381)
> [junit] at
> org.apache.hadoop.hive.ql.exec.Utilities.clearMapRedWork(Utilities.java:194)
> [junit] at
> org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:472)
> [junit] at
> org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:137)
> [junit] at
> org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:135)
> [junit] at
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
> [junit] at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1326)
> [junit] at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1112)
> [junit] at org.apache.hadoop.hive.ql.Driver.run(Driver.java:945)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412)
> [junit] at
> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:347)
> [junit] at
> org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:712)
> [junit] at
> org.apache.hadoop.hive.cli.TestMinimrCliDriver.testCliDriver_bucketmapjoin7(TestMinimrCliDriver.java:288)
> [junit] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [junit] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [junit] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [junit] at java.lang.reflect.Method.invoke(Method.java:597)
> [junit] at junit.framework.TestCase.runTest(TestCase.java:168)
> [junit] at junit.framework.TestCase.runBare(TestCase.java:134)
> [junit] at junit.framework.TestResult$1.protect(TestResult.java:110)
> [junit] at junit.framework.TestResult.runProtected(TestResult.java:128)
> [junit] at junit.framework.TestResult.run(TestResult.java:113)
> [junit] at junit.framework.TestCase.run(TestCase.java:124)
> [junit] at junit.framework.TestSuite.runTest(TestSuite.java:232)
> [junit] at junit.framework.TestSuite.run(TestSuite.java:227)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
> [junit] at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
> [junit] junit.framework.AssertionFailedError: Client Execution failed
> with error code = 1
--
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: http://www.atlassian.com/software/jira