[ 
https://issues.apache.org/jira/browse/HIVE-7398?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Navis updated HIVE-7398:
------------------------

    Description: 
{code}
set hive.optimize.correlation=true;

explain
select b.key, count(*) 
from src b 
group by b.key
having exists 
  (select a.key 
  from src a 
  where a.key = b.key and a.value > 'val_9'
  );
{code}
One of the parent of Mux is final type GBY, but it's regarded as one for 
semi-join and removed, throwing exception,
{noformat}
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at 
org.apache.hadoop.hive.ql.optimizer.GenMRRedSink2.process(GenMRRedSink2.java:58)
        at 
org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
        at 
org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:94)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:54)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
        at 
org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:109)
        at 
org.apache.hadoop.hive.ql.parse.MapReduceCompiler.generateTaskTree(MapReduceCompiler.java:325)
        at 
org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:199)
        at 
org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:9523)
        at 
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:328)
        at 
org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:74)
        at 
org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:328)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:411)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:307)
        at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:960)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1025)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:897)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:887)
        at 
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:265)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:217)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:427)
        at 
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:800)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:694)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:633)
{noformat}

  was:
{code}
set hive.optimize.correlation=true;

explain
select b.key, count(*) 
from src b 
group by b.key
having exists 
  (select a.key 
  from src a 
  where a.key = b.key and a.value > 'val_9'
  );
{code}
One of the parent of Mux is final type GBY, but it's regarded as one for 
semi-join and removed.


> Parent GBY of MUX is removed even it's not for semijoin
> -------------------------------------------------------
>
>                 Key: HIVE-7398
>                 URL: https://issues.apache.org/jira/browse/HIVE-7398
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Query Processor
>            Reporter: Navis
>            Assignee: Navis
>
> {code}
> set hive.optimize.correlation=true;
> explain
> select b.key, count(*) 
> from src b 
> group by b.key
> having exists 
>   (select a.key 
>   from src a 
>   where a.key = b.key and a.value > 'val_9'
>   );
> {code}
> One of the parent of Mux is final type GBY, but it's regarded as one for 
> semi-join and removed, throwing exception,
> {noformat}
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at java.util.ArrayList.RangeCheck(ArrayList.java:547)
>       at java.util.ArrayList.get(ArrayList.java:322)
>       at 
> org.apache.hadoop.hive.ql.optimizer.GenMRRedSink2.process(GenMRRedSink2.java:58)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:94)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:54)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
>       at 
> org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:109)
>       at 
> org.apache.hadoop.hive.ql.parse.MapReduceCompiler.generateTaskTree(MapReduceCompiler.java:325)
>       at 
> org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:199)
>       at 
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:9523)
>       at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:328)
>       at 
> org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:74)
>       at 
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:328)
>       at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:411)
>       at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:307)
>       at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:960)
>       at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1025)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:897)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:887)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:265)
>       at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:217)
>       at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:427)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:800)
>       at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:694)
>       at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:633)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to