diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java index 4b10e8974e..bd2ffad868 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TezCompiler.java @@ -174,9 +174,6 @@ protected void optimizeOperatorPlan(ParseContext pCtx, Set inputs, runStatsAnnotation(procCtx); perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.TEZ_COMPILER, "Setup stats in the operator plan"); - // Update bucketing version of ReduceSinkOp if needed - updateBucketingVersionForUpgrade(procCtx); - // run Sorted dynamic partition optimization if(HiveConf.getBoolVar(procCtx.conf, HiveConf.ConfVars.DYNAMICPARTITIONING) && HiveConf.getVar(procCtx.conf, HiveConf.ConfVars.DYNAMICPARTITIONINGMODE).equals("nonstrict") && @@ -229,6 +226,12 @@ protected void optimizeOperatorPlan(ParseContext pCtx, Set inputs, new ConstantPropagate(ConstantPropagateOption.SHORTCUT).transform(procCtx.parseContext); } + // ATTENTION : DO NOT, I REPEAT, DO NOT WRITE ANYTHING AFTER updateBucketingVersionForUpgrade() + // ANYTHING WHICH NEEDS TO BE ADDED MUST BE ADDED ABOVE + + // Update bucketing version of ReduceSinkOp if needed + updateBucketingVersionForUpgrade(procCtx); + } private void runCycleAnalysisForPartitionPruning(OptimizeTezProcContext procCtx, @@ -1834,22 +1837,6 @@ private void updateBucketingVersionForUpgrade(OptimizeTezProcContext procCtx) { for (FileSinkOperator fsOp : fsOpsAll) { Operator parentOfFS = fsOp.getParentOperators().get(0); - if (parentOfFS instanceof GroupByOperator) { - GroupByOperator gbyOp = (GroupByOperator) parentOfFS; - List aggs = gbyOp.getConf().getAggregatorStrings(); - boolean compute_stats = false; - for (String agg : aggs) { - if (agg.equalsIgnoreCase("compute_stats")) { - compute_stats = true; - break; - } - } - if (compute_stats) { - continue; - } - } - - // Not compute_stats Set rsOps = OperatorUtils.findOperatorsUpstream(parentOfFS, ReduceSinkOperator.class); if (rsOps.isEmpty()) { continue;