[ https://issues.apache.org/jira/browse/HIVE-6401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13899710#comment-13899710 ]
Jason Dere commented on HIVE-6401: ---------------------------------- Looks like this is due to MAPREDUCE-5756. In the test case, when getSplits() is called on /, it returns InputSplits for the folllowing paths: /000000_0 /Users/ /build/ /tmp/ /user/ Whereas in hadoop-1 it only used to return: /000000_0 The query execution seems to expect the InputSplits to be files, and not directories. Stack trace for listStatus() was: org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus(FileInputFormat.java:272) org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.getSplits(CombineFileInputFormat.java:217) org.apache.hadoop.mapred.lib.CombineFileInputFormat.getSplits(CombineFileInputFormat.java:75) org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(HadoopShimsSecure.java:343) org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getSplits(HadoopShimsSecure.java:309) org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getSplits(CombineHiveInputFormat.java:427) org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:520) org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:512) org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:394) org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285) org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282) java.security.AccessController.doPrivileged(Native javax.security.auth.Subject.doAs(Subject.java:396) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) org.apache.hadoop.mapreduce.Job.submit(Job.java:1282) org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562) org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557) java.security.AccessController.doPrivileged(Native javax.security.auth.Subject.doAs(Subject.java:396) org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:557) org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548) org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:419) org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:136) org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153) org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65) org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1548) org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1321) org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1152) org.apache.hadoop.hive.ql.Driver.run(Driver.java:992) org.apache.hadoop.hive.ql.Driver.run(Driver.java:982) org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:268) org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:220) org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:424) org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:359) org.apache.hadoop.hive.ql.QTestUtil.executeClient(QTestUtil.java:907) org.apache.hadoop.hive.cli.TestMinimrCliDriver.runTest(TestMinimrCliDriver.java:133) org.apache.hadoop.hive.cli.TestMinimrCliDriver.testCliDriver_root_dir_external_table(TestMinimrCliDriver.java:117) > root_dir_external_table.q fails with -Phadoop-2 > ----------------------------------------------- > > Key: HIVE-6401 > URL: https://issues.apache.org/jira/browse/HIVE-6401 > Project: Hive > Issue Type: Bug > Reporter: Jason Dere > > The test passes with -Phadoop-1, but when testing against Hadoop2 it reports > the following error: > {quote} > Error during job, obtaining debugging information... > Job Tracking URL: http://dev01:40951/proxy/application_1392069796008_0002/ > Examining task ID: task_1392069796008_0002_m_000001 (and more) from job > job_1392069796008_0002 > Task with the most failures(4): > ----- > Task ID: > task_1392069796008_0002_m_000001 > URL: > > http://dev01.hortonworks.com:40951/taskdetails.jsp?jobid=job_1392069796008_0002&tipid=task_1392069796008_0002_m_000001 > ----- > Diagnostic Messages for this Task: > Error: java.io.IOException: java.lang.reflect.InvocationTargetException > at > org.apache.hadoop.hive.io.HiveIOExceptionHandlerChain.handleRecordReaderCreationException(HiveIOExceptionHandlerChain.java:97) > at > org.apache.hadoop.hive.io.HiveIOExceptionHandlerUtil.handleRecordReaderCreationException(HiveIOExceptionHandlerUtil.java:57) > at > org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.initNextRecordReader(HadoopShimsSecure.java:301) > at > org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.<init>(HadoopShimsSecure.java:248) > at > org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileInputFormatShim.getRecordReader(HadoopShimsSecure.java:362) > at > org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getRecordReader(CombineHiveInputFormat.java:583) > at > org.apache.hadoop.mapred.MapTask$TrackedRecordReader.<init>(MapTask.java:167) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:408) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.hadoop.hive.shims.HadoopShimsSecure$CombineFileRecordReader.initNextRecordReader(HadoopShimsSecure.java:287) > ... 11 more > Caused by: java.io.FileNotFoundException: Path is not a file: /build > at > org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:65) > at > org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:51) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsUpdateTimes(FSNamesystem.java:1499) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem.java:1448) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1428) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1402) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:468) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:269) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:59566) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at > org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106) > at > org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:73) > at > org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1066) > at > org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1054) > at > org.apache.hadoop.hdfs.DFSClient.getLocatedBlocks(DFSClient.java:1044) > at > org.apache.hadoop.hdfs.DFSInputStream.fetchLocatedBlocksAndGetLastBlockLength(DFSInputStream.java:235) > at > org.apache.hadoop.hdfs.DFSInputStream.openInfo(DFSInputStream.java:202) > at > org.apache.hadoop.hdfs.DFSInputStream.<init>(DFSInputStream.java:195) > at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:1212) > at > org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:290) > at > org.apache.hadoop.hdfs.DistributedFileSystem$3.doCall(DistributedFileSystem.java:286) > at > org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) > at > org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:286) > at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:763) > at > org.apache.hadoop.mapred.LineRecordReader.<init>(LineRecordReader.java:106) > at > org.apache.hadoop.mapred.TextInputFormat.getRecordReader(TextInputFormat.java:67) > at > org.apache.hadoop.hive.ql.io.CombineHiveRecordReader.<init>(CombineHiveRecordReader.java:65) > ... 16 more > Caused by: > org.apache.hadoop.ipc.RemoteException(java.io.FileNotFoundException): Path is > not a file: /build > at > org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:65) > at > org.apache.hadoop.hdfs.server.namenode.INodeFile.valueOf(INodeFile.java:51) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsUpdateTimes(FSNamesystem.java:1499) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocationsInt(FSNamesystem.java:1448) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1428) > at > org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getBlockLocations(FSNamesystem.java:1402) > at > org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getBlockLocations(NameNodeRpcServer.java:468) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getBlockLocations(ClientNamenodeProtocolServerSideTranslatorPB.java:269) > at > org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:59566) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) > at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048) > at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:396) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491) > at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2042) > at org.apache.hadoop.ipc.Client.call(Client.java:1347) > at org.apache.hadoop.ipc.Client.call(Client.java:1300) > at > org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206) > at $Proxy10.getBlockLocations(Unknown Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:186) > at > org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) > at $Proxy10.getBlockLocations(Unknown Source) > at > org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getBlockLocations(ClientNamenodeProtocolTranslatorPB.java:188) > at > org.apache.hadoop.hdfs.DFSClient.callGetBlockLocations(DFSClient.java:1064) > ... 30 more > Exception: Client Execution failed with error code = 2 running > select count(*) from roottable > See ./ql/target/tmp/log/hive.log or ./itests/qtest/target/tmp/log/hive.log, > or check ./ql/target/surefire-reports or > ./itests/qtest/target/surefire-reports/ for specific test cases logs. > {quote} -- This message was sent by Atlassian JIRA (v6.1.5#6160)