[ https://issues.apache.org/jira/browse/HIVE-8771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Prasanth J updated HIVE-8771: ----------------------------- Description: AbstractFileMergeOperator moves incompatible files (files which cannot be merged) to final destination. The destination path must be directory instead of file. This causes orc_merge_incompat2.q to fail under CentOS with IOException failing to rename/move files. Stack trace: {code} 2014-11-05 02:38:56,588 DEBUG fs.FileSystem (RawLocalFileSystem.java:rename(337)) - Falling through to a copy of file:/home/prasanth/hive/itests/qtest/target/warehouse/orc_merge5a/st=80.0/000000_0 to file:/home/prasanth/hive/itests/qtest/target/tmp/scratchdir/prasanth/0de64e52-6615-4c5a-bdfb-c3b2c28131f6/hive_2014-11-05_02-38-55_511_7578595409877157627-1/_tmp.-ext-10000/000000_0/000000_0 2014-11-05 02:38:56,589 INFO mapred.LocalJobRunner (LocalJobRunner.java:runTasks(456)) - map task executor complete. 2014-11-05 02:38:56,590 WARN mapred.LocalJobRunner (LocalJobRunner.java:run(560)) - job_local1144733438_0036 java.lang.Exception: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close AbstractFileMergeOperator at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462) at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522) Caused by: java.io.IOException: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close AbstractFileMergeOperator at org.apache.hadoop.hive.ql.io.merge.MergeFileMapper.close(MergeFileMapper.java:100) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:679) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close AbstractFileMergeOperator at org.apache.hadoop.hive.ql.exec.AbstractFileMergeOperator.closeOp(AbstractFileMergeOperator.java:233) at org.apache.hadoop.hive.ql.exec.OrcFileMergeOperator.closeOp(OrcFileMergeOperator.java:220) at org.apache.hadoop.hive.ql.io.merge.MergeFileMapper.close(MergeFileMapper.java:98) ... 10 more Caused by: java.io.FileNotFoundException: Destination exists and is not a directory: /home/prasanth/hive/itests/qtest/target/tmp/scratchdir/prasanth/0de64e52-6615-4c5a-bdfb-c3b2c28131f6/hive_2014-11-05_02-38-55_511_7578595409877157627-1/_tmp.-ext-10000/000000_0 at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:423) at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:267) at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:257) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:887) at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:784) at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365) at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338) at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:289) at org.apache.hadoop.fs.RawLocalFileSystem.rename(RawLocalFileSystem.java:339) at org.apache.hadoop.fs.ChecksumFileSystem.rename(ChecksumFileSystem.java:507) at org.apache.hadoop.fs.FilterFileSystem.rename(FilterFileSystem.java:214) at org.apache.hadoop.fs.ProxyFileSystem.rename(ProxyFileSystem.java:177) at org.apache.hadoop.fs.FilterFileSystem.rename(FilterFileSystem.java:214) at org.apache.hadoop.hive.ql.exec.Utilities.renameOrMoveFiles(Utilities.java:1589) at org.apache.hadoop.hive.ql.exec.AbstractFileMergeOperator.closeOp(AbstractFileMergeOperator.java:218) ... 12 more {code} was:AbstractFileMergeOperator moves incompatible files (files which cannot be merged) to final destination. The destination path must be directory instead of file. This causes orc_merge_incompat2.q to fail under CentOS with IOException failing to rename/move files. > Abstract merge file operator does not move/rename incompatible files correctly > ------------------------------------------------------------------------------ > > Key: HIVE-8771 > URL: https://issues.apache.org/jira/browse/HIVE-8771 > Project: Hive > Issue Type: Bug > Affects Versions: 0.14.0 > Reporter: Prasanth J > Assignee: Prasanth J > Priority: Critical > Fix For: 0.14.0 > > Attachments: HIVE-8771.1.patch > > > AbstractFileMergeOperator moves incompatible files (files which cannot be > merged) to final destination. The destination path must be directory instead > of file. This causes orc_merge_incompat2.q to fail under CentOS with > IOException failing to rename/move files. > Stack trace: > {code} > 2014-11-05 02:38:56,588 DEBUG fs.FileSystem > (RawLocalFileSystem.java:rename(337)) - Falling through to a copy of > file:/home/prasanth/hive/itests/qtest/target/warehouse/orc_merge5a/st=80.0/000000_0 > to > file:/home/prasanth/hive/itests/qtest/target/tmp/scratchdir/prasanth/0de64e52-6615-4c5a-bdfb-c3b2c28131f6/hive_2014-11-05_02-38-55_511_7578595409877157627-1/_tmp.-ext-10000/000000_0/000000_0 > 2014-11-05 02:38:56,589 INFO mapred.LocalJobRunner > (LocalJobRunner.java:runTasks(456)) - map task executor complete. > 2014-11-05 02:38:56,590 WARN mapred.LocalJobRunner > (LocalJobRunner.java:run(560)) - job_local1144733438_0036 > java.lang.Exception: java.io.IOException: > org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close > AbstractFileMergeOperator > at > org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462) > at > org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522) > Caused by: java.io.IOException: > org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close > AbstractFileMergeOperator > at > org.apache.hadoop.hive.ql.io.merge.MergeFileMapper.close(MergeFileMapper.java:100) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:61) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) > at > org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:679) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Failed to close > AbstractFileMergeOperator > at > org.apache.hadoop.hive.ql.exec.AbstractFileMergeOperator.closeOp(AbstractFileMergeOperator.java:233) > at > org.apache.hadoop.hive.ql.exec.OrcFileMergeOperator.closeOp(OrcFileMergeOperator.java:220) > at > org.apache.hadoop.hive.ql.io.merge.MergeFileMapper.close(MergeFileMapper.java:98) > ... 10 more > Caused by: java.io.FileNotFoundException: Destination exists and is not a > directory: > /home/prasanth/hive/itests/qtest/target/tmp/scratchdir/prasanth/0de64e52-6615-4c5a-bdfb-c3b2c28131f6/hive_2014-11-05_02-38-55_511_7578595409877157627-1/_tmp.-ext-10000/000000_0 > at > org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:423) > at > org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:267) > at > org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:257) > at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:887) > at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:784) > at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365) > at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338) > at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:289) > at > org.apache.hadoop.fs.RawLocalFileSystem.rename(RawLocalFileSystem.java:339) > at > org.apache.hadoop.fs.ChecksumFileSystem.rename(ChecksumFileSystem.java:507) > at > org.apache.hadoop.fs.FilterFileSystem.rename(FilterFileSystem.java:214) > at > org.apache.hadoop.fs.ProxyFileSystem.rename(ProxyFileSystem.java:177) > at > org.apache.hadoop.fs.FilterFileSystem.rename(FilterFileSystem.java:214) > at > org.apache.hadoop.hive.ql.exec.Utilities.renameOrMoveFiles(Utilities.java:1589) > at > org.apache.hadoop.hive.ql.exec.AbstractFileMergeOperator.closeOp(AbstractFileMergeOperator.java:218) > ... 12 more > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)