Index: ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java (revision 1545344) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/JoinOperator.java (working copy) @@ -144,7 +144,7 @@ } @Override - public void jobCloseOp(Configuration hconf, boolean success, JobCloseFeedBack feedBack) + public void jobCloseOp(Configuration hconf, boolean success) throws HiveException { int numAliases = conf.getExprs().size(); if (conf.getHandleSkewJoin()) { @@ -181,7 +181,7 @@ throw new HiveException(e); } } - super.jobCloseOp(hconf, success, feedBack); + super.jobCloseOp(hconf, success); } private void moveUpFiles(String specPath, Configuration hconf, Log log) Index: ql/src/java/org/apache/hadoop/hive/ql/exec/JobCloseFeedBack.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/JobCloseFeedBack.java (revision 1545344) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/JobCloseFeedBack.java (working copy) @@ -1,59 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.hadoop.hive.ql.exec; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - - -/** - * After this job closed, some data (feedbacks) can be passed to descendant jobs. - * Currently the feedbacks is a generic data structure that has a key (FeedBackType) - * and an object as value. The type of the object depends on the key. - **/ - -public class JobCloseFeedBack { - - // list of feedback types - public static enum FeedBackType { - DYNAMIC_PARTITIONS, // list of dynamic partitions generated by this MR job - NONE - }; - - Map> feedBacks; // one type corresponds to a list of values - - public JobCloseFeedBack() { - feedBacks = new HashMap>(); - } - - public void append(FeedBackType t, Object v) { - List vals = feedBacks.get(t); - if (vals == null) { - vals = new ArrayList(); - } - vals.add(v); - feedBacks.put(t, vals); - } - - public List get(FeedBackType t) { - return feedBacks.get(t); - } -} \ No newline at end of file Index: ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java (revision 1545344) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/FileSinkOperator.java (working copy) @@ -933,7 +933,7 @@ } @Override - public void jobCloseOp(Configuration hconf, boolean success, JobCloseFeedBack feedBack) + public void jobCloseOp(Configuration hconf, boolean success) throws HiveException { try { if ((conf != null) && isNativeTable) { @@ -948,7 +948,7 @@ } catch (IOException e) { throw new HiveException(e); } - super.jobCloseOp(hconf, success, feedBack); + super.jobCloseOp(hconf, success); } @Override Index: ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java (revision 1545344) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/Operator.java (working copy) @@ -615,7 +615,7 @@ private boolean jobCloseDone = false; // Operator specific logic goes here - public void jobCloseOp(Configuration conf, boolean success, JobCloseFeedBack feedBack) + public void jobCloseOp(Configuration conf, boolean success) throws HiveException { } @@ -628,19 +628,19 @@ * @param success * whether the job was completed successfully or not */ - public void jobClose(Configuration conf, boolean success, JobCloseFeedBack feedBack) + public void jobClose(Configuration conf, boolean success) throws HiveException { // JobClose has already been performed on this operator if (jobCloseDone) { return; } - jobCloseOp(conf, success, feedBack); + jobCloseOp(conf, success); jobCloseDone = true; if (childOperators != null) { for (Operator op : childOperators) { - op.jobClose(conf, success, feedBack); + op.jobClose(conf, success); } } } Index: ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java (revision 1545344) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java (working copy) @@ -50,7 +50,6 @@ import org.apache.hadoop.hive.ql.QueryPlan; import org.apache.hadoop.hive.ql.exec.FetchOperator; import org.apache.hadoop.hive.ql.exec.HiveTotalOrderPartitioner; -import org.apache.hadoop.hive.ql.exec.JobCloseFeedBack; import org.apache.hadoop.hive.ql.exec.Operator; import org.apache.hadoop.hive.ql.exec.OperatorUtils; import org.apache.hadoop.hive.ql.exec.PartitionKeySampler; @@ -473,14 +472,13 @@ // get the list of Dynamic partition paths try { if (rj != null) { - JobCloseFeedBack feedBack = new JobCloseFeedBack(); if (mWork.getAliasToWork() != null) { for (Operator op : mWork.getAliasToWork().values()) { - op.jobClose(job, success, feedBack); + op.jobClose(job, success); } } if (rWork != null) { - rWork.getReducer().jobClose(job, success, feedBack); + rWork.getReducer().jobClose(job, success); } } } catch (Exception e) {