Uploaded image for project: 'Tajo (Retired)'
  1. Tajo (Retired)
  2. TAJO-640

In inner join clause, empty table can cause a error by order-by clause.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.8.0, 0.9.0
    • 0.8.0, 0.9.0
    • distributed query plan
    • None

    Description

      In inner join clause, empty table can cause a error by order-by clause as follows:

      * 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)
      

      Attachments

        1. TAJO-640.patch
          5 kB
          JaeHwa Jung

        Issue Links

          Activity

            People

              blrunner JaeHwa Jung
              blrunner JaeHwa Jung
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: