tajo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hyunsik Choi (JIRA)" <j...@apache.org>
Subject [jira] [Created] (TAJO-415) Some complex queries causes NPE and unlimited recursions.
Date Sat, 14 Dec 2013 04:36:06 GMT
Hyunsik Choi created TAJO-415:

             Summary: Some complex queries causes NPE and unlimited recursions.
                 Key: TAJO-415
                 URL: https://issues.apache.org/jira/browse/TAJO-415
             Project: Tajo
          Issue Type: Bug
          Components: distributed query plan, planner/optimizer
            Reporter: Hyunsik Choi
            Assignee: Hyunsik Choi
            Priority: Critical
             Fix For: 0.8-incubating

This patch fixes the following critical bugs.
* GreedyHeuristicJoinOrder::getCost may cause unlimited recursion.
 ** getCost() method is a recursion function.
 ** getCost() method has not considered all logical operators, so some logical operators are
processed in a default case which is implemented incorrectly. It causes unlimited recursion.
* ProjectionPushDown rewrite rule tries to push down necessary target lists to all subqueries.

 ** It may cause some problem in a subquery which includes a group-by operator because there
is no unnecessary target lists in the subquery, including a group-by operator. This patch
prevents ProjectionPushDown to push down target lists to some subqueries.
* Task::setLogicalPlan does not traverse descendant nodes of TableSubQueryNode.
 ** So, it have missed some logical operators.
* SubQuery::getInputVolume may cause NPE when a logical plan includes a bushy join tree.
 ** In the past, a distributed plan is generated from left-deep join tree. At that time, the
volume of join relations are computed directly from joined results (left) or relation nodes
(right). However, for bushy join, getInputVolume() has some cases to estimate intermediate
data volume prior to actual joins.

This message was sent by Atlassian JIRA

View raw message