[ https://issues.apache.org/jira/browse/HIVE-6650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13935826#comment-13935826 ]
Brock Noland commented on HIVE-6650: ------------------------------------ Looks like a simple enough, patch. Can you post a RB item for it? > hive.optimize.index.filter breaks non-index where with HBaseStorageHandler > -------------------------------------------------------------------------- > > Key: HIVE-6650 > URL: https://issues.apache.org/jira/browse/HIVE-6650 > Project: Hive > Issue Type: Bug > Components: HBase Handler > Affects Versions: 0.12.0 > Reporter: Nick Dimiduk > Assignee: Nick Dimiduk > Attachments: HIVE-6650.0.patch, HIVE-6650.1.patch > > > With the above enabled, where clauses including non-rowkey columns cannot be > used with the HBaseStorageHandler. Job fails to launch with the following > exception. > {noformat} > java.lang.RuntimeException: Unexpected residual predicate (s_address = '200 > WEST 56TH STREET') > at > org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.convertFilter(HiveHBaseTableInputFormat.java:292) > at > org.apache.hadoop.hive.hbase.HiveHBaseTableInputFormat.getSplits(HiveHBaseTableInputFormat.java:495) > at > org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:294) > at > org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getSplits(CombineHiveInputFormat.java:303) > at > org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:518) > at org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:510) > at > org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:392) > at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1268) > at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1265) > 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.mapreduce.Job.submit(Job.java:1265) > at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:562) > at org.apache.hadoop.mapred.JobClient$1.run(JobClient.java:557) > 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.JobClient.submitJobInternal(JobClient.java:557) > at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:548) > at org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:425) > at org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:136) > at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:151) > at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:65) > at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1437) > at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1215) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1043) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911) > at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413) > at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:781) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) > 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.util.RunJar.main(RunJar.java:212) > Job Submission failed with exception 'java.lang.RuntimeException(Unexpected > residual predicate (s_address = '200 WEST 56TH STREET'))' > FAILED: Execution Error, return code 1 from > org.apache.hadoop.hive.ql.exec.mr.MapRedTask > {noformat} > I believe this bug was introduced in HIVE-2036, see change to > OpProcFactory.java that always includes full predicate, even after storage > handler negotiates the predicates it can pushdown. Since this behavior is > divergent from input formats (they cannot negotiate), there's no harm in the > SH ignoring non-indexed predicates -- Hive respects all of them at a layer > above anyway. Might as well remove the check/exception. -- This message was sent by Atlassian JIRA (v6.2#6252)