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 1629785) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/mr/ExecDriver.java (working copy) @@ -56,6 +56,8 @@ import org.apache.hadoop.hive.ql.exec.TableScanOperator; import org.apache.hadoop.hive.ql.exec.Task; import org.apache.hadoop.hive.ql.exec.Utilities; +import org.apache.hadoop.hive.ql.exec.tez.TezSessionState; +import org.apache.hadoop.hive.ql.exec.tez.TezSessionPoolManager; import org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; import org.apache.hadoop.hive.ql.io.HiveKey; import org.apache.hadoop.hive.ql.io.HiveOutputFormatImpl; @@ -416,6 +418,13 @@ Utilities.createTmpDirs(job, mWork); Utilities.createTmpDirs(job, rWork); + SessionState ss = SessionState.get(); + if (HiveConf.getVar(job, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("tez") + && ss != null) { + TezSessionState session = ss.getTezSession(); + TezSessionPoolManager.getInstance().close(session, true); + } + // Finally SUBMIT the JOB! rj = jc.submitJob(job); // replace it back Index: ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java (revision 1629785) +++ ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java (working copy) @@ -207,11 +207,6 @@ } catch(InterruptedException ie) { //ignore } - // In case we need to run some MR jobs, we'll run them under tez MR emulation. The session - // id is used for tez to reuse the current session rather than start a new one. - conf.set("mapreduce.framework.name", "yarn-tez"); - conf.set("mapreduce.tez.session.tokill-application-id", - session.getAppMasterApplicationId().toString()); openSessions.add(this); }