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

Hudson commented on TAJO-1766:
------------------------------

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


> Improve the performance of cross join
> -------------------------------------
>
>                 Key: TAJO-1766
>                 URL: https://issues.apache.org/jira/browse/TAJO-1766
>             Project: Tajo
>          Issue Type: Improvement
>          Components: distributed query plan
>            Reporter: Jihoon Son
>            Assignee: Jihoon Son
>             Fix For: 0.11.0
>
>
> 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. 



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

Reply via email to