Jaehwa Jung created TAJO-640:
--------------------------------

             Summary: In inner join clause, empty table can cause a error by 
order-by clause.
                 Key: TAJO-640
                 URL: https://issues.apache.org/jira/browse/TAJO-640
             Project: Tajo
          Issue Type: Bug
          Components: distributed query plan
    Affects Versions: 0.8-incubating, 1.0-incubating
            Reporter: Jaehwa Jung
            Assignee: Jaehwa Jung
             Fix For: 0.8-incubating, 1.0-incubating


In inner join clause, empty table can cause a error by order-by clause as 
follows:
{code:xml}
* SQL
select a.id from table1 a, table3 b where a.id = b.id order by a.id;

* Error
4-02-27 16:01:21,118 INFO  querymaster.SubQuery 
(SubQuery.java:initTaskScheduler(611)) - 
org.apache.tajo.master.DefaultTaskScheduler is chosen for the task scheduling
2014-02-27 16:01:21,119 INFO  querymaster.SubQuery 
(SubQuery.java:getNonLeafTaskNum(748)) - Table's volume is approximately 0 MB
2014-02-27 16:01:21,119 INFO  querymaster.SubQuery 
(SubQuery.java:getNonLeafTaskNum(751)) - The determined number of non-leaf 
tasks is 1
2014-02-27 16:01:21,121 ERROR querymaster.SubQuery 
(SubQuery.java:transition(595)) - SubQuery (eb_1393484173390_0002_000004) 
ERROR: 
java.lang.IllegalStateException: ERROR: Invalid Column Stats (column stats: [], 
there exists not target a.id (INT4)
        at 
com.google.common.base.Preconditions.checkState(Preconditions.java:150)
        at 
org.apache.tajo.engine.utils.TupleUtil.columnStatToRange(TupleUtil.java:79)
        at 
org.apache.tajo.master.querymaster.Repartitioner.scheduleRangeShuffledFetches(Repartitioner.java:332)
        at 
org.apache.tajo.master.querymaster.Repartitioner.scheduleFragmentsForNonLeafTasks(Repartitioner.java:300)
        at 
org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.schedule(SubQuery.java:733)
        at 
org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.transition(SubQuery.java:579)
        at 
org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.transition(SubQuery.java:560)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
        at org.apache.tajo.master.querymaster.SubQuery.handle(SubQuery.java:537)
        at 
org.apache.tajo.master.querymaster.Query$SubQueryCompletedTransition.executeNextBlock(Query.java:560)
        at 
org.apache.tajo.master.querymaster.Query$SubQueryCompletedTransition.transition(Query.java:593)
        at 
org.apache.tajo.master.querymaster.Query$SubQueryCompletedTransition.transition(Query.java:546)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$SingleInternalArc.doTransition(StateMachineFactory.java:362)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
        at org.apache.tajo.master.querymaster.Query.handle(Query.java:646)
        at org.apache.tajo.master.querymaster.Query.handle(Query.java:58)
        at 
org.apache.tajo.master.TajoAsyncDispatcher.dispatch(TajoAsyncDispatcher.java:137)
        at 
org.apache.tajo.master.TajoAsyncDispatcher$1.run(TajoAsyncDispatcher.java:79)
        at java.lang.Thread.run(Thread.java:680)
{code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to