You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Tajo QA (JIRA)" <ji...@apache.org> on 2014/03/05 10:04:44 UTC

[jira] [Commented] (TAJO-427) Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN clause.

    [ https://issues.apache.org/jira/browse/TAJO-427?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13920670#comment-13920670 ] 

Tajo QA commented on TAJO-427:
------------------------------

{color:red}*-1 overall.*{color}  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12632797/TAJO-427.patch
  against master revision c9fadb7.

    {color:green}+1 @author.{color}  The patch does not contain any @author tags.

    {color:green}+1 tests included.{color}  The patch appears to include 5 new or modified test files.

    {color:green}+1 javac.{color}  The applied patch does not increase the total number of javac compiler warnings.

    {color:green}+1 javadoc.{color}  The applied patch does not increase the total number of javadoc warnings.

    {color:green}+1 checkstyle.{color}  The patch generated 0 code style errors.

    {color:red}-1 findbugs.{color}  The patch appears to introduce 183 new Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit.{color}  The applied patch does not increase the total number of release audit warnings.

    {color:green}+1 core tests.{color}  The patch passed unit tests in tajo-core/tajo-core-backend.

Test results: https://builds.apache.org/job/PreCommit-TAJO-Build/187//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-TAJO-Build/187//artifact/incubator-tajo/patchprocess/newPatchFindbugsWarningstajo-core-backend.html
Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/187//console

This message is automatically generated.

> Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN clause.
> ----------------------------------------------------------------------
>
>                 Key: TAJO-427
>                 URL: https://issues.apache.org/jira/browse/TAJO-427
>             Project: Tajo
>          Issue Type: Bug
>          Components: planner/optimizer, query master
>    Affects Versions: 0.8-incubating, 1.0-incubating
>            Reporter: Jaehwa Jung
>            Assignee: Jaehwa Jung
>             Fix For: 0.8-incubating, 1.0-incubating
>
>         Attachments: TAJO-427.patch
>
>
> If empty table use at LEFT OUTER JOIN clause, it makes IndexOutOfBoundsException as follows:
> {code:xml}
> tajo> select * from table1;
> Progress: 100%, response time: 0.146 sec
> final state: QUERY_SUCCEEDED, response time: 0.146 sec
> result: hdfs://localhost:9010/tmp/tajo-blrunner/staging/q_1387348492386_0013/RESULT, 5 rows (60 B)
> id,  name,  score,  type
> -------------------------------
> 1,  ooo,  1.1,  a
> 2,  ppp,  2.3,  b
> 3,  qqq,  3.4,  c
> 4,  rrr,  4.5,  d
> 5,  xxx,  5.6,  e
> tajo> select * from table3;
> Progress: 100%, response time: 0.053 sec
> final state: QUERY_SUCCEEDED, response time: 0.053 sec
> result: hdfs://localhost:9010/tmp/tajo-blrunner/staging/q_1387348492386_0014/RESULT, 0 rows (0 B)
> id,  name,  score,  type
> -------------------------------
> tajo> select a.id, a.name, a.score, case when b.name is null then 'zzz' else b.name end as name2  from table1 a left outer join table3 b on a.id = b.id;
> Internal error!
> {code}
> Tajo master makes log as follows:
> {code:xml}
> 2013-12-18 15:39:25,678 INFO  service.AbstractService (AbstractService.java:start(94)) - Service:org.apache.tajo.worker.AbstractResourceAllocator is started.
> 2013-12-18 15:39:25,678 INFO  service.AbstractService (AbstractService.java:start(94)) - Service:org.apache.tajo.master.TajoAsyncDispatcher is started.
> 2013-12-18 15:39:25,679 INFO  master.TajoAsyncDispatcher (TajoAsyncDispatcher.java:start(101)) - AsyncDispatcher started:q_1387348492386_0015
> 2013-12-18 15:39:25,679 INFO  service.AbstractService (AbstractService.java:start(94)) - Service:org.apache.tajo.master.querymaster.QueryMasterTask is started.
> 2013-12-18 15:39:25,679 INFO  querymaster.Query (Query.java:handle(452)) - Processing q_1387348492386_0015 of type START
> 2013-12-18 15:39:25,682 INFO  storage.AbstractStorageManager (AbstractStorageManager.java:listStatus(384)) - Total input paths to process : 0
> 2013-12-18 15:39:25,682 INFO  storage.AbstractStorageManager (AbstractStorageManager.java:getSplits(612)) - Total # of splits: 0
> 2013-12-18 15:39:25,682 ERROR querymaster.SubQuery (SubQuery.java:transition(529)) - SubQuery (eb_1387348492386_0015_000003) ERROR: 
> 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.tajo.master.querymaster.Repartitioner.createJoinTasks(Repartitioner.java:96)
> 	at org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.createTasks(SubQuery.java:663)
> 	at org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.transition(SubQuery.java:517)
> 	at org.apache.tajo.master.querymaster.SubQuery$InitAndRequestContainer.transition(SubQuery.java:499)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:382)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:299)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:445)
> 	at org.apache.tajo.master.querymaster.SubQuery.handle(SubQuery.java:476)
> 	at org.apache.tajo.master.querymaster.Query$StartTransition.transition(Query.java:288)
> 	at org.apache.tajo.master.querymaster.Query$StartTransition.transition(Query.java:277)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory$SingleInternalArc.doTransition(StateMachineFactory.java:359)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:299)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
> 	at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:445)
> 	at org.apache.tajo.master.querymaster.Query.handle(Query.java:457)
> 	at org.apache.tajo.master.querymaster.Query.handle(Query.java:54)
> 	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.2#6252)