You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hyoungjun Kim (JIRA)" <ji...@apache.org> on 2014/10/23 09:25:33 UTC

[jira] [Created] (TAJO-1126) MergeJoin with function eval throws IllegalArgumentException.

Hyoungjun Kim created TAJO-1126:
-----------------------------------

             Summary: MergeJoin with function eval throws IllegalArgumentException.
                 Key: TAJO-1126
                 URL: https://issues.apache.org/jira/browse/TAJO-1126
             Project: Tajo
          Issue Type: Bug
            Reporter: Hyoungjun Kim
            Priority: Minor


MergeJoin with function eval throws the following IllegalArgumentException.
{code:sql}
select
  n1.n_nationkey,
  n1.n_name,
  n2.n_name
from nation n1 join (select * from nation union select * from nation) n2 on substr(n1.n_name, 1, 4) = substr(n2.n_name, 1, 4)
order by n1.n_nationkey;
{code}
{noformat}
java.lang.IllegalArgumentException: At least one sort key must be specified
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
	at org.apache.tajo.engine.planner.logical.SortNode.setSortSpecs(SortNode.java:35)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createMergeInnerJoin(PhysicalPlannerImpl.java:443)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createBestInnerJoinPlan(PhysicalPlannerImpl.java:433)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createInnerJoinPlan(PhysicalPlannerImpl.java:377)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createJoinPlan(PhysicalPlannerImpl.java:292)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createPlanRecursive(PhysicalPlannerImpl.java:218)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createPlanRecursive(PhysicalPlannerImpl.java:207)
	at org.apache.tajo.engine.planner.PhysicalPlannerImpl.createPlan(PhysicalPlannerImpl.java:90)
	at org.apache.tajo.worker.TajoQueryEngine.createPlan(TajoQueryEngine.java:40)
	at org.apache.tajo.worker.Task.run(Task.java:442)
	at org.apache.tajo.worker.TaskRunner$1.run(TaskRunner.java:276)
	at java.lang.Thread.run(Thread.java:744)
{noformat}

The above query is from TestJoinQuery.testComplexJoinCondition7() test case. Currently TestJoinQuery runs with a parameterized option, but the parameter is not transmitted to UnitRequestImpl. So all test case run with HashJoin parameter.  For this reason the above error is not detected. We should also fix the test case  bug.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)