[ https://issues.apache.org/jira/browse/HIVE-10686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14539767#comment-14539767 ]
Hive QA commented on HIVE-10686: -------------------------------- {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12732211/HIVE-10686.patch {color:red}ERROR:{color} -1 due to 10 failed/errored test(s), 8921 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_cbo_gby org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_cbo_limit org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_global_limit org.apache.hadoop.hive.cli.TestEncryptedHDFSCliDriver.testCliDriver_encryption_insert_partition_static org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_cbo_gby org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_cbo_limit org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_explainuser_1 org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver_cbo_gby org.apache.hadoop.hive.cli.TestSparkCliDriver.testCliDriver_cbo_limit org.apache.hive.hcatalog.streaming.TestStreaming.testTransactionBatchEmptyCommit {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3860/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3860/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3860/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 10 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12732211 - PreCommit-HIVE-TRUNK-Build > java.lang.IndexOutOfBoundsException for query with rank() over(partition ...) > ----------------------------------------------------------------------------- > > Key: HIVE-10686 > URL: https://issues.apache.org/jira/browse/HIVE-10686 > Project: Hive > Issue Type: Bug > Reporter: Jesus Camacho Rodriguez > Assignee: Jesus Camacho Rodriguez > Attachments: HIVE-10686.patch > > > CBO throws Index out of bound exception for TPC-DS Q70. > Query > {code} > explain > select > sum(ss_net_profit) as total_sum > ,s_state > ,s_county > ,grouping__id as lochierarchy > , rank() over(partition by grouping__id, case when grouping__id == 2 then > s_state end order by sum(ss_net_profit)) as rank_within_parent > from > store_sales ss join date_dim d1 on d1.d_date_sk = ss.ss_sold_date_sk > join store s on s.s_store_sk = ss.ss_store_sk > where > d1.d_month_seq between 1193 and 1193+11 > and s.s_state in > ( select s_state > from (select s_state as s_state, sum(ss_net_profit), > rank() over ( partition by s_state order by > sum(ss_net_profit) desc) as ranking > from store_sales, store, date_dim > where d_month_seq between 1193 and 1193+11 > and date_dim.d_date_sk = > store_sales.ss_sold_date_sk > and store.s_store_sk = store_sales.ss_store_sk > group by s_state > ) tmp1 > where ranking <= 5 > ) > group by s_state,s_county with rollup > order by > lochierarchy desc > ,case when lochierarchy = 0 then s_state end > ,rank_within_parent > limit 100 > {code} > Original plan (correct) > {code} > HiveSort(fetch=[100]) > HiveSort(sort0=[$3], sort1=[$5], sort2=[$4], dir0=[DESC], dir1=[ASC], > dir2=[ASC]) > HiveProject(total_sum=[$4], s_state=[$0], s_county=[$1], > lochierarchy=[$5], rank_within_parent=[rank() OVER (PARTITION BY $5, > when(==($5, 2), $0) ORDER BY $4 ROWS BETWEEN 2147483647 FOLLOWING AND > 2147483647 PRECEDING)], (tok_function when (= (tok_table_or_col lochierarchy) > 0) (tok_table_or_col s_state))=[when(=($5, 0), $0)]) > HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], > indicator=[true], agg#0=[sum($2)], GROUPING__ID=[GROUPING__ID()]) > HiveProject($f0=[$7], $f1=[$6], $f2=[$1]) > HiveJoin(condition=[=($5, $2)], joinType=[inner], algorithm=[none], > cost=[{1177.2086187101072 rows, 0.0 cpu, 0.0 io}]) > HiveJoin(condition=[=($3, $0)], joinType=[inner], > algorithm=[none], cost=[{2880430.428726483 rows, 0.0 cpu, 0.0 io}]) > HiveProject(ss_sold_date_sk=[$0], ss_net_profit=[$21], > ss_store_sk=[$22]) > HiveTableScan(table=[[tpcds.store_sales]]) > HiveProject(d_date_sk=[$0], d_month_seq=[$3]) > HiveFilter(condition=[between(false, $3, 1193, +(1193, 11))]) > HiveTableScan(table=[[tpcds.date_dim]]) > HiveProject(s_store_sk=[$0], s_county=[$1], s_state=[$2]) > SemiJoin(condition=[=($2, $3)], joinType=[inner]) > HiveProject(s_store_sk=[$0], s_county=[$23], s_state=[$24]) > HiveTableScan(table=[[tpcds.store]]) > HiveProject(s_state=[$0]) > HiveFilter(condition=[<=($1, 5)]) > HiveProject((tok_table_or_col s_state)=[$0], > rank_window_0=[rank() OVER (PARTITION BY $0 ORDER BY $1 DESC ROWS BETWEEN > 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) > HiveAggregate(group=[{0}], agg#0=[sum($1)]) > HiveProject($f0=[$6], $f1=[$1]) > HiveJoin(condition=[=($5, $2)], joinType=[inner], > algorithm=[none], cost=[{1177.2086187101072 rows, 0.0 cpu, 0.0 io}]) > HiveJoin(condition=[=($3, $0)], joinType=[inner], > algorithm=[none], cost=[{2880430.428726483 rows, 0.0 cpu, 0.0 io}]) > HiveProject(ss_sold_date_sk=[$0], > ss_net_profit=[$21], ss_store_sk=[$22]) > HiveTableScan(table=[[tpcds.store_sales]]) > HiveProject(d_date_sk=[$0], d_month_seq=[$3]) > HiveFilter(condition=[between(false, $3, > 1193, +(1193, 11))]) > HiveTableScan(table=[[tpcds.date_dim]]) > HiveProject(s_store_sk=[$0], s_state=[$24]) > HiveTableScan(table=[[tpcds.store]]) > {code} > Plan after fixTopOBSchema (incorrect) > {code} > HiveSort(fetch=[100]) > HiveSort(sort0=[$3], sort1=[$5], sort2=[$4], dir0=[DESC], dir1=[ASC], > dir2=[ASC]) > HiveProject(total_sum=[$4], s_state=[$0], s_county=[$1], > lochierarchy=[$5], rank_within_parent=[rank() OVER (PARTITION BY $5, > when(==($5, 2), $0) ORDER BY $4 ROWS BETWEEN 2147483647 FOLLOWING AND > 2147483647 PRECEDING)]) > HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], > indicator=[true], agg#0=[sum($2)], GROUPING__ID=[GROUPING__ID()]) > HiveProject($f0=[$7], $f1=[$6], $f2=[$1]) > HiveJoin(condition=[=($5, $2)], joinType=[inner], algorithm=[none], > cost=[{1177.2086187101072 rows, 0.0 cpu, 0.0 io}]) > HiveJoin(condition=[=($3, $0)], joinType=[inner], > algorithm=[none], cost=[{2880430.428726483 rows, 0.0 cpu, 0.0 io}]) > HiveProject(ss_sold_date_sk=[$0], ss_net_profit=[$21], > ss_store_sk=[$22]) > HiveTableScan(table=[[tpcds.store_sales]]) > HiveProject(d_date_sk=[$0], d_month_seq=[$3]) > HiveFilter(condition=[between(false, $3, 1193, +(1193, 11))]) > HiveTableScan(table=[[tpcds.date_dim]]) > HiveProject(s_store_sk=[$0], s_county=[$1], s_state=[$2]) > SemiJoin(condition=[=($2, $3)], joinType=[inner]) > HiveProject(s_store_sk=[$0], s_county=[$23], s_state=[$24]) > HiveTableScan(table=[[tpcds.store]]) > HiveProject(s_state=[$0]) > HiveFilter(condition=[<=($1, 5)]) > HiveProject((tok_table_or_col s_state)=[$0], > rank_window_0=[rank() OVER (PARTITION BY $0 ORDER BY $1 DESC ROWS BETWEEN > 2147483647 FOLLOWING AND 2147483647 PRECEDING)]) > HiveAggregate(group=[{0}], agg#0=[sum($1)]) > HiveProject($f0=[$6], $f1=[$1]) > HiveJoin(condition=[=($5, $2)], joinType=[inner], > algorithm=[none], cost=[{1177.2086187101072 rows, 0.0 cpu, 0.0 io}]) > HiveJoin(condition=[=($3, $0)], joinType=[inner], > algorithm=[none], cost=[{2880430.428726483 rows, 0.0 cpu, 0.0 io}]) > HiveProject(ss_sold_date_sk=[$0], > ss_net_profit=[$21], ss_store_sk=[$22]) > HiveTableScan(table=[[tpcds.store_sales]]) > HiveProject(d_date_sk=[$0], d_month_seq=[$3]) > HiveFilter(condition=[between(false, $3, > 1193, +(1193, 11))]) > HiveTableScan(table=[[tpcds.date_dim]]) > HiveProject(s_store_sk=[$0], s_state=[$24]) > HiveTableScan(table=[[tpcds.store]]) > {code} > Exception > {code} > 15/04/14 02:42:52 [main]: ERROR parse.CalcitePlanner: CBO failed, skipping > CBO. > java.lang.IndexOutOfBoundsException: Index: 5, Size: 5 > at java.util.ArrayList.rangeCheck(ArrayList.java:635) > at java.util.ArrayList.get(ArrayList.java:411) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitInputRef(ASTConverter.java:395) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitInputRef(ASTConverter.java:372) > at org.apache.calcite.rex.RexInputRef.accept(RexInputRef.java:112) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitCall(ASTConverter.java:543) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitCall(ASTConverter.java:372) > at org.apache.calcite.rex.RexCall.accept(RexCall.java:107) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitCall(ASTConverter.java:543) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter$RexVisitor.visitCall(ASTConverter.java:372) > at org.apache.calcite.rex.RexCall.accept(RexCall.java:107) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convertOBToASTNode(ASTConverter.java:252) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convert(ASTConverter.java:208) > at > org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter.convert(ASTConverter.java:98) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlanner.java:607) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:239) > at > org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10003) > at > org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:202) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:224) > at > org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:74) > at > org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:224) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:424) > at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:308) > at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1122) > at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1170) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1059) > at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1049) > at > org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:213) > at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:165) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:376) > at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:311) > at > org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:409) > at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:425) > at > org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:714) > at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681) > at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.apache.hadoop.util.RunJar.run(RunJar.java:221) > at org.apache.hadoop.util.RunJar.main(RunJar.java:136) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)