Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-1766

Improve the performance of cross join

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.11.0
    • Component/s: distributed query plan
    • Labels:
      None

      Description

      Cross join is one of the very heavy operations. Furthermore, this operator is performed by a single worker in the current implementation. (Please see the implementation of HashPartitioner. If partitionKeyIds is empty, getPartition() always returns a single value.)

      One possible alternative is executing cross join with broadcast join. That is, outer table (smaller one) is always broadcasted, and join is performed by the machine who stores a part of inner table.

      To do so, a new session variable is required to set the broadcast threshold for cross join.

        Activity

        Hide
        hudson Hudson added a comment -

        ABORTED: Integrated in Tajo-master-build #817 (See https://builds.apache.org/job/Tajo-master-build/817/)
        TAJO-1766: Improve the performance of cross join. (jihoonson: rev 1a7c353c203b10b28f028a3fad44eacb2010dae1)

        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash.plan
        • tajo-common/src/main/java/org/apache/tajo/exception/ExceptionUtil.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort.plan
        • tajo-common/src/main/proto/errors.proto
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk3.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/BroadcastJoinRule.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonHashJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort.plan
        • tajo-cluster-tests/src/test/java/org/apache/tajo/QueryTestCaseBase.java
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk1.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.result
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort.plan
        • tajo-common/src/main/java/org/apache/tajo/SessionVars.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/enforce/Enforcer.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/GlobalPlanRewriteUtil.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
        • tajo-core/src/main/java/org/apache/tajo/master/QueryInProgress.java
        • tajo-common/src/main/java/org/apache/tajo/exception/InvalidInputsForCrossJoin.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinAndCaseWhen.sql
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk2.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestInnerJoinQuery.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.result
        • tajo-plan/src/main/java/org/apache/tajo/plan/util/IndexUtil.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.result
        • tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/utils/CacheHolder.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMaster.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/master/QueryCoordinatorService.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PartitionMergeScanExec.java
        • tajo-common/src/main/java/org/apache/tajo/exception/ErrorMessages.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.result
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk2.sql
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.result
        • tajo-plan/src/main/java/org/apache/tajo/plan/util/PlannerUtil.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/StoreIndexExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort.plan
        • tajo-plan/src/main/proto/Plan.proto
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan
        • tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk3.sql
        • tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash_NoBroadcast.plan
        • tajo-common/src/main/java/org/apache/tajo/exception/TooLargeInputForCrossJoinException.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/worker/ExecutionBlockContext.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort_NoBroadcast.plan
        • CHANGES
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/SchemaUtil.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.result
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestCrossJoin.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/IndexExecutorUtil.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ExecutionBlock.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk4.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan
        • tajo-core/src/main/proto/ResourceProtos.proto
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk4.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinAndCaseWhen.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ScanExec.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.result
        • tajo-plan/src/main/java/org/apache/tajo/plan/verifier/PostLogicalPlanVerifier.java
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk1.sql
        Show
        hudson Hudson added a comment - ABORTED: Integrated in Tajo-master-build #817 (See https://builds.apache.org/job/Tajo-master-build/817/ ) TAJO-1766 : Improve the performance of cross join. (jihoonson: rev 1a7c353c203b10b28f028a3fad44eacb2010dae1) tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash.plan tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash.plan tajo-common/src/main/java/org/apache/tajo/exception/ExceptionUtil.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort.plan tajo-common/src/main/proto/errors.proto tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk3.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/BroadcastJoinRule.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonHashJoinExec.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort.plan tajo-cluster-tests/src/test/java/org/apache/tajo/QueryTestCaseBase.java tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk1.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.result tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort.plan tajo-common/src/main/java/org/apache/tajo/SessionVars.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/enforce/Enforcer.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/GlobalPlanRewriteUtil.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java tajo-core/src/main/java/org/apache/tajo/master/QueryInProgress.java tajo-common/src/main/java/org/apache/tajo/exception/InvalidInputsForCrossJoin.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinAndCaseWhen.sql tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk2.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestInnerJoinQuery.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.result tajo-plan/src/main/java/org/apache/tajo/plan/util/IndexUtil.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.result tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/utils/CacheHolder.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMaster.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/master/QueryCoordinatorService.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PartitionMergeScanExec.java tajo-common/src/main/java/org/apache/tajo/exception/ErrorMessages.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.result tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk2.sql tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.result tajo-plan/src/main/java/org/apache/tajo/plan/util/PlannerUtil.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/StoreIndexExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort.plan tajo-plan/src/main/proto/Plan.proto tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk3.sql tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash_NoBroadcast.plan tajo-common/src/main/java/org/apache/tajo/exception/TooLargeInputForCrossJoinException.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/worker/ExecutionBlockContext.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort_NoBroadcast.plan CHANGES tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/SchemaUtil.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.result tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestCrossJoin.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/IndexExecutorUtil.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ExecutionBlock.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort.plan tajo-core-tests/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk4.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan tajo-core/src/main/proto/ResourceProtos.proto tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk4.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinAndCaseWhen.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash_NoBroadcast.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ScanExec.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort.plan tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.result tajo-plan/src/main/java/org/apache/tajo/plan/verifier/PostLogicalPlanVerifier.java tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk1.sql
        Hide
        hudson Hudson added a comment -

        FAILURE: Integrated in Tajo-master-CODEGEN-build #463 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/463/)
        TAJO-1766: Improve the performance of cross join. (jihoonson: rev 1a7c353c203b10b28f028a3fad44eacb2010dae1)

        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ScanExec.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort_NoBroadcast.plan
        • tajo-common/src/main/java/org/apache/tajo/exception/InvalidInputsForCrossJoin.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ExecutionBlock.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java
        • tajo-common/src/main/java/org/apache/tajo/exception/ErrorMessages.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk3.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PartitionMergeScanExec.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.result
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan
        • tajo-plan/src/main/proto/Plan.proto
        • tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/StoreIndexExec.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/master/QueryInProgress.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk1.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/utils/CacheHolder.java
        • tajo-core/src/main/proto/ResourceProtos.proto
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinAndCaseWhen.sql
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
        • tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/IndexExecutorUtil.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonHashJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk2.sql
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.result
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestInnerJoinQuery.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestCrossJoin.java
        • tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort.plan
        • tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan
        • tajo-common/src/main/java/org/apache/tajo/SessionVars.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.result
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/enforce/Enforcer.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk2.sql
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk4.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result
        • tajo-plan/src/main/java/org/apache/tajo/plan/util/IndexUtil.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk3.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/SchemaUtil.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.result
        • tajo-cluster-tests/src/test/java/org/apache/tajo/QueryTestCaseBase.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.result
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash_NoBroadcast.plan
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort.plan
        • tajo-core/src/main/java/org/apache/tajo/worker/ExecutionBlockContext.java
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
        • tajo-core/src/main/java/org/apache/tajo/master/QueryCoordinatorService.java
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan
        • tajo-common/src/main/proto/errors.proto
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.result
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk1.sql
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort_NoBroadcast.plan
        • tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMaster.java
        • tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/BroadcastJoinRule.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.result
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinAndCaseWhen.sql
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/verifier/PostLogicalPlanVerifier.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort_NoBroadcast.plan
        • CHANGES
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk4.sql
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort_NoBroadcast.plan
        • tajo-plan/src/main/java/org/apache/tajo/plan/util/PlannerUtil.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort_NoBroadcast.plan
        • tajo-common/src/main/java/org/apache/tajo/exception/TooLargeInputForCrossJoinException.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.result
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash.plan
        • tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/GlobalPlanRewriteUtil.java
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.result
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash.plan
        • tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java
        • tajo-common/src/main/java/org/apache/tajo/exception/ExceptionUtil.java
        • tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash.plan
        • tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort.plan
        Show
        hudson Hudson added a comment - FAILURE: Integrated in Tajo-master-CODEGEN-build #463 (See https://builds.apache.org/job/Tajo-master-CODEGEN-build/463/ ) TAJO-1766 : Improve the performance of cross join. (jihoonson: rev 1a7c353c203b10b28f028a3fad44eacb2010dae1) tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/ScanExec.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort_NoBroadcast.plan tajo-common/src/main/java/org/apache/tajo/exception/InvalidInputsForCrossJoin.java tajo-core/src/main/java/org/apache/tajo/engine/planner/global/ExecutionBlock.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestNLJoinExec.java tajo-common/src/main/java/org/apache/tajo/exception/ErrorMessages.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk3.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PartitionMergeScanExec.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.result tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Hash.plan tajo-plan/src/main/proto/Plan.proto tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/StoreIndexExec.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash.plan tajo-core/src/main/java/org/apache/tajo/master/QueryInProgress.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk1.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort.plan tajo-core/src/main/java/org/apache/tajo/engine/utils/CacheHolder.java tajo-core/src/main/proto/ResourceProtos.proto tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinAndCaseWhen.sql tajo-core-tests/src/test/java/org/apache/tajo/engine/planner/physical/TestBNLJoinExec.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/FilterPushDownRule.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMasterTask.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/IndexExecutorUtil.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/CommonHashJoinExec.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash.plan tajo-core-tests/src/test/java/org/apache/tajo/cli/tsql/TestTajoCli.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk2.sql tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Hash.plan tajo-core/src/main/java/org/apache/tajo/master/exec/QueryExecutor.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.result tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestInnerJoinQuery.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Sort.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestCrossJoin.java tajo-core/src/main/java/org/apache/tajo/worker/TaskAttemptContext.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort.plan tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash.plan tajo-plan/src/main/java/org/apache/tajo/plan/joinorder/GreedyHeuristicJoinOrderAlgorithm.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithMultipleJoinQual1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase1.1.Hash_NoBroadcast.plan tajo-common/src/main/java/org/apache/tajo/SessionVars.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.result tajo-core/src/main/java/org/apache/tajo/engine/planner/enforce/Enforcer.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk2.sql tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk4.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.result tajo-plan/src/main/java/org/apache/tajo/plan/util/IndexUtil.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Sort.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinWithAsterisk3.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash.plan tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/SchemaUtil.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testJoinWithOrPredicates.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTableAndJoin.1.result tajo-cluster-tests/src/test/java/org/apache/tajo/QueryTestCaseBase.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin3.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.result tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Hash_NoBroadcast.plan tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinAndCaseWhen.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Sort.plan tajo-core/src/main/java/org/apache/tajo/worker/ExecutionBlockContext.java tajo-core/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java tajo-core/src/main/java/org/apache/tajo/master/QueryCoordinatorService.java tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan tajo-common/src/main/proto/errors.proto tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithThetaJoinConditionInWhere.result tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk1.sql tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinPredicationCaseByCase2.1.Hash.plan tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOftwoSmallTables.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk3.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoinWithNull2.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk2.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort_NoBroadcast.plan tajo-core/src/main/java/org/apache/tajo/querymaster/QueryMaster.java tajo-core-tests/src/test/resources/results/TestTajoCli/testHelpSessionVars.result tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/BroadcastJoinRule.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.result tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestInnerJoinQuery/testCrossJoinAndCaseWhen.sql tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.2.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk2.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithThetaJoinConditionInWhere.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.2.Sort.plan tajo-plan/src/main/java/org/apache/tajo/plan/verifier/PostLogicalPlanVerifier.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.4.Sort.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Hash.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testOuterJoinAndCaseWhen1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.4.Sort_NoBroadcast.plan CHANGES tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.3.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase2.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/queries/TestCrossJoin/testCrossJoinWithAsterisk4.sql tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testLeftOuterJoin2.Sort_NoBroadcast.plan tajo-plan/src/main/java/org/apache/tajo/plan/util/PlannerUtil.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.5.Sort_NoBroadcast.plan tajo-common/src/main/java/org/apache/tajo/exception/TooLargeInputForCrossJoinException.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoin.1.Sort_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testJoinFilterOfRowPreservedTable1.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk4.result tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash.plan tajo-core/src/main/java/org/apache/tajo/engine/planner/global/rewriter/rules/GlobalPlanRewriteUtil.java tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.result tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.5.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestOuterJoinQuery/testRightOuterJoinPredicationCaseByCase3.1.Sort.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinWithAsterisk3.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithAsterisk4.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinWithEmptyTable1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoin.3.Hash.plan tajo-common/src/main/java/org/apache/tajo/conf/TajoConf.java tajo-common/src/main/java/org/apache/tajo/exception/ExceptionUtil.java tajo-core-tests/src/test/resources/results/TestCrossJoin/testCrossJoinOfOneSmallTable.1.Hash_NoBroadcast.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testCrossJoinAndCaseWhen.Hash.plan tajo-core-tests/src/test/resources/results/TestInnerJoinQuery/testNaturalJoin.Sort.plan
        Hide
        jihoonson Jihoon Son added a comment -

        Committed to master and 0.11.0

        Show
        jihoonson Jihoon Son added a comment - Committed to master and 0.11.0
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jihoonson commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-134537896

        Thanks guys!

        Show
        githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-134537896 Thanks guys!
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user asfgit closed the pull request at:

        https://github.com/apache/tajo/pull/706

        Show
        githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/tajo/pull/706
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user hyunsik commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-134536104

        Here is my +1. The patch looks good to me.

        Show
        githubbot ASF GitHub Bot added a comment - Github user hyunsik commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-134536104 Here is my +1. The patch looks good to me.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jinossy commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-134512935

        Awesome!!

        I've test your query on Tez and same cluster. but I've stop the query after 5h
        ```
        hive> select count from partsupp, supplier_small;
        Warning: Shuffle Join MERGEJOIN[11][tables = [partsupp, supplier_small]] in Stage 'Reducer 2' is a cross product
        Query ID = hadoop_20150825100744_8e11a2d9-d918-473f-bad2-36e403d6eca3
        Total jobs = 1
        Launching Job 1 out of 1

        Status: Running (Executing on YARN cluster with App id application_1440464539141_0001)

        --------------------------------------------------------------------------------
        VERTICES STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED
        --------------------------------------------------------------------------------
        Exiting the JVM. SUCCEEDED 224 224 0 0 0 0
        Interrupting... Be patient, this might take some time.0 0 0 0
        Map 1 .......... SUCCEEDED 224 224 0 0 0 0
        Map 4 .......... SUCCEEDED 1 1 0 0 0 0
        Reducer 2 RUNNING 1 0 1 0 0 0
        Reducer 3 INITED 1 0 0 1 0 0
        --------------------------------------------------------------------------------
        VERTICES: 02/04 [=========================>>-] 99% ELAPSED TIME: 22510.28 s
        ```

        Show
        githubbot ASF GitHub Bot added a comment - Github user jinossy commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-134512935 Awesome!! I've test your query on Tez and same cluster. but I've stop the query after 5h ``` hive> select count from partsupp, supplier_small; Warning: Shuffle Join MERGEJOIN [11] [tables = [partsupp, supplier_small] ] in Stage 'Reducer 2' is a cross product Query ID = hadoop_20150825100744_8e11a2d9-d918-473f-bad2-36e403d6eca3 Total jobs = 1 Launching Job 1 out of 1 Status: Running (Executing on YARN cluster with App id application_1440464539141_0001) -------------------------------------------------------------------------------- VERTICES STATUS TOTAL COMPLETED RUNNING PENDING FAILED KILLED -------------------------------------------------------------------------------- Exiting the JVM. SUCCEEDED 224 224 0 0 0 0 Interrupting... Be patient, this might take some time.0 0 0 0 Map 1 .......... SUCCEEDED 224 224 0 0 0 0 Map 4 .......... SUCCEEDED 1 1 0 0 0 0 Reducer 2 RUNNING 1 0 1 0 0 0 Reducer 3 INITED 1 0 0 1 0 0 -------------------------------------------------------------------------------- VERTICES: 02/04 [=========================>>-] 99% ELAPSED TIME: 22510.28 s ```
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jihoonson commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-134164003

        This patch is ready for review. Sorry for a large patch.

        Here are some highlights of changes.

        • Added a session variable to set the limitation of broadcast table size for cross join. This value is valid only when ```TEST_BROADCAST_JOIN_ENABLED``` is set.
        • Cross join is always executed with broadcast join. To do so, at least one input of cross join should be the relation which is smaller than ```BROADCAST_CROSS_JOIN_THRESHOLD```.
        • Added ```PostLogicalPlanVerifier``` to verify that cross join is executable or not.
        • Fixed some bugs in BroadcastJoinRule.
        • Fixed some bugs in QueryTestCaseBase.
        • Removed BNL and NL join executors. Instead, each task executes cross join with hash join. This is because one of inputs of cross join is always cached in the broadcast cache holder.
        • Improved unique key generation for a scan executor in ```TaskAttemptContext```.

        I've tested cross join performance with a cluster consisting of a master and 5 workers. Each worker equips 48 cores, 80 GB memory, and 24 disks.

              1. Data
        • partsupp: 80000000 rows (12.2 GB in TEXT file)
        • supplier_small: 100000 rows (14.1 MB in TEXT file)
              1. Query
                ```
                select count from partsupp, supplier_small
                ```
              1. Result
                1 hrs, 14 mins, 33 sec is taken with this patch. The above query runs forever without this patch because a single worker executes cross join.
        Show
        githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-134164003 This patch is ready for review. Sorry for a large patch. Here are some highlights of changes. Added a session variable to set the limitation of broadcast table size for cross join. This value is valid only when ```TEST_BROADCAST_JOIN_ENABLED``` is set. Cross join is always executed with broadcast join. To do so, at least one input of cross join should be the relation which is smaller than ```BROADCAST_CROSS_JOIN_THRESHOLD```. Added ```PostLogicalPlanVerifier``` to verify that cross join is executable or not. Fixed some bugs in BroadcastJoinRule. Fixed some bugs in QueryTestCaseBase. Removed BNL and NL join executors. Instead, each task executes cross join with hash join. This is because one of inputs of cross join is always cached in the broadcast cache holder. Improved unique key generation for a scan executor in ```TaskAttemptContext```. I've tested cross join performance with a cluster consisting of a master and 5 workers. Each worker equips 48 cores, 80 GB memory, and 24 disks. Data partsupp: 80000000 rows (12.2 GB in TEXT file) supplier_small: 100000 rows (14.1 MB in TEXT file) Query ``` select count from partsupp, supplier_small ``` Result 1 hrs, 14 mins, 33 sec is taken with this patch. The above query runs forever without this patch because a single worker executes cross join.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jihoonson commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-133716586

        This patch is not ready for review.

        Show
        githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-133716586 This patch is not ready for review.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user jihoonson commented on the pull request:

        https://github.com/apache/tajo/pull/706#issuecomment-132942635

        Please don't start review until #702 is committed.

        Show
        githubbot ASF GitHub Bot added a comment - Github user jihoonson commented on the pull request: https://github.com/apache/tajo/pull/706#issuecomment-132942635 Please don't start review until #702 is committed.
        Hide
        githubbot ASF GitHub Bot added a comment -

        GitHub user jihoonson opened a pull request:

        https://github.com/apache/tajo/pull/706

        TAJO-1766: Improve the performance of cross join

        You can merge this pull request into a Git repository by running:

        $ git pull https://github.com/jihoonson/tajo-2 TAJO-1766

        Alternatively you can review and apply these changes as the patch at:

        https://github.com/apache/tajo/pull/706.patch

        To close this pull request, make a commit to your master/trunk branch
        with (at least) the following in the commit message:

        This closes #706


        commit c585fd9b9f126cb3cd0492a8c8cfe07d82f617db
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-16T14:28:15Z

        Need to consider cross and non-cross joins together

        commit 18fc1356c0d5296c49b614402f90fc84c4ac0790
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-17T01:36:02Z

        Merge branch 'TAJO-1766' of https://github.com/jihoonson/tajo-2 into TAJO-1766

        commit b2c8435a886c8008598c367e5e757b601148cfac
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-17T06:18:01Z

        TAJO-1766

        commit 1f974ceb14a62310ade9a7f631ee3ad531f080de
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-17T09:10:12Z

        TAJO-1766

        commit 90306b6495314c28f4f7bdc1cb54b1ea799c689d
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-17T10:21:15Z

        TAJO-1766

        commit 989d0ebd20e4250cd236029a796614f1e64ad891
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-18T01:51:36Z

        TAJO-1766

        commit 25a7bccf9be42ebea99e8fae4c202b5332d9310e
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-19T01:05:42Z

        Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into TAJO-1766

        commit 96dd4329d1639615f4ffa65b9cf2562d0853e4e0
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-19T10:13:47Z

        add post logical plan verification

        commit 5014b05277d9b79515fcff2d7253ad2eec2d650f
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-20T01:35:47Z

        improve error message

        commit ccc6eba2f445f2b813322b4fb806b829bd0f3753
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-20T08:47:19Z

        Remove estimation code

        commit 55dc2c6f3cfdd86ae10a1babcacc01b5e8bd6d03
        Author: Jihoon Son <jihoonson@apache.org>
        Date: 2015-08-20T08:48:33Z

        Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into TAJO-1766

        Conflicts:
        tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java


        Show
        githubbot ASF GitHub Bot added a comment - GitHub user jihoonson opened a pull request: https://github.com/apache/tajo/pull/706 TAJO-1766 : Improve the performance of cross join You can merge this pull request into a Git repository by running: $ git pull https://github.com/jihoonson/tajo-2 TAJO-1766 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tajo/pull/706.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #706 commit c585fd9b9f126cb3cd0492a8c8cfe07d82f617db Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-16T14:28:15Z Need to consider cross and non-cross joins together commit 18fc1356c0d5296c49b614402f90fc84c4ac0790 Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-17T01:36:02Z Merge branch ' TAJO-1766 ' of https://github.com/jihoonson/tajo-2 into TAJO-1766 commit b2c8435a886c8008598c367e5e757b601148cfac Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-17T06:18:01Z TAJO-1766 commit 1f974ceb14a62310ade9a7f631ee3ad531f080de Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-17T09:10:12Z TAJO-1766 commit 90306b6495314c28f4f7bdc1cb54b1ea799c689d Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-17T10:21:15Z TAJO-1766 commit 989d0ebd20e4250cd236029a796614f1e64ad891 Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-18T01:51:36Z TAJO-1766 commit 25a7bccf9be42ebea99e8fae4c202b5332d9310e Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-19T01:05:42Z Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into TAJO-1766 commit 96dd4329d1639615f4ffa65b9cf2562d0853e4e0 Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-19T10:13:47Z add post logical plan verification commit 5014b05277d9b79515fcff2d7253ad2eec2d650f Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-20T01:35:47Z improve error message commit ccc6eba2f445f2b813322b4fb806b829bd0f3753 Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-20T08:47:19Z Remove estimation code commit 55dc2c6f3cfdd86ae10a1babcacc01b5e8bd6d03 Author: Jihoon Son <jihoonson@apache.org> Date: 2015-08-20T08:48:33Z Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into TAJO-1766 Conflicts: tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java

          People

          • Assignee:
            jihoonson Jihoon Son
            Reporter:
            jihoonson Jihoon Son
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development