Kevin Wilfong created HIVE-3429: ----------------------------------- Summary: 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
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