Author: sershe
Date: Tue Mar 11 18:10:07 2014
New Revision: 1576446

URL: http://svn.apache.org/r1576446
Log:
HIVE-6605 : Hive does not set the environment correctly when running in Tez 
mode (Sergey Shelukhin, reviewed by Gunther Hagleitner and Siddharth Seth)

Modified:
    
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java

Modified: 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java?rev=1576446&r1=1576445&r2=1576446&view=diff
==============================================================================
--- 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
(original)
+++ 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/tez/TezSessionState.java 
Tue Mar 11 18:10:07 2014
@@ -40,12 +40,13 @@ import org.apache.hadoop.hive.conf.HiveC
 import org.apache.hadoop.hive.ql.ErrorMsg;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.tez.client.AMConfiguration;
+import org.apache.tez.client.PreWarmContext;
 import org.apache.tez.client.TezSession;
 import org.apache.tez.client.TezSessionConfiguration;
 import org.apache.tez.dag.api.SessionNotRunning;
 import org.apache.tez.dag.api.TezConfiguration;
 import org.apache.tez.dag.api.TezException;
-import org.apache.tez.client.PreWarmContext;
+import org.apache.tez.mapreduce.hadoop.MRHelpers;
 
 /**
  * Holds session state related to Tez
@@ -132,8 +133,11 @@ public class TezSessionState {
     Map<String, LocalResource> commonLocalResources = new HashMap<String, 
LocalResource>();
     commonLocalResources.put(utils.getBaseName(appJarLr), appJarLr);
 
-    AMConfiguration amConfig = new AMConfiguration(null, commonLocalResources,
-        tezConfig, null);
+    // Create environment for AM.
+    Map<String, String> amEnv = new HashMap<String, String>();
+    MRHelpers.updateEnvironmentForMRAM(conf, amEnv);
+
+    AMConfiguration amConfig = new AMConfiguration(amEnv, 
commonLocalResources, tezConfig, null);
 
     // configuration for the session
     TezSessionConfiguration sessionConfig = new 
TezSessionConfiguration(amConfig, tezConfig);
@@ -149,8 +153,7 @@ public class TezSessionState {
       int n = HiveConf.getIntVar(conf, ConfVars.HIVE_PREWARM_NUM_CONTAINERS);
       LOG.info("Prewarming " + n + " containers  (id: " + sessionId
           + ", scratch dir: " + tezScratchDir + ")");
-      PreWarmContext context = utils.createPreWarmContext(sessionConfig, n,
-          commonLocalResources);
+      PreWarmContext context = utils.createPreWarmContext(sessionConfig, n, 
commonLocalResources);
       try {
         session.preWarm(context);
       } catch (InterruptedException ie) {


Reply via email to