You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2015/07/16 06:40:53 UTC

[06/50] [abbrv] hive git commit: HIVE-11164 WebHCat should log contents of HiveConf on startup (Eugene Koifman, reviewed by Thejas Nair)

HIVE-11164 WebHCat should log contents of HiveConf on startup (Eugene Koifman, reviewed by Thejas Nair)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f6647897
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f6647897
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f6647897

Branch: refs/heads/beeline-cli
Commit: f664789737d516ac664462732664121acc111a1e
Parents: f6ea8cb
Author: Eugene Koifman <ek...@hortonworks.com>
Authored: Wed Jul 8 17:53:55 2015 -0700
Committer: Eugene Koifman <ek...@hortonworks.com>
Committed: Wed Jul 8 17:53:55 2015 -0700

----------------------------------------------------------------------
 .../hive/hcatalog/templeton/AppConfig.java      | 28 +++++++++++++++-----
 .../hcatalog/templeton/SecureProxySupport.java  |  6 +++--
 2 files changed, 25 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/f6647897/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
----------------------------------------------------------------------
diff --git a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
index 8244274..062d5a0 100644
--- a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
+++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/AppConfig.java
@@ -239,8 +239,24 @@ public class AppConfig extends Configuration {
   private String dumpEnvironent() {
     StringBuilder sb = TempletonUtils.dumpPropMap("========WebHCat System.getenv()========", System.getenv());
     sb.append("START========WebHCat AppConfig.iterator()========: \n");
-    Iterator<Map.Entry<String, String>> configIter = this.iterator();
-    List<Map.Entry<String, String>> configVals = new ArrayList<Map.Entry<String, String>>();
+    dumpConfig(this, sb);
+    sb.append("END========WebHCat AppConfig.iterator()========: \n");
+
+    sb.append(TempletonUtils.dumpPropMap("========WebHCat System.getProperties()========", System.getProperties()));
+
+    sb.append("START========\"new HiveConf()\"========\n");
+    HiveConf c = new HiveConf();
+    sb.append("hiveDefaultUrl=").append(c.getHiveDefaultLocation()).append('\n');
+    sb.append("hiveSiteURL=").append(HiveConf.getHiveSiteLocation()).append('\n');
+    sb.append("hiveServer2SiteUrl=").append(HiveConf.getHiveServer2SiteLocation()).append('\n');
+    sb.append("hivemetastoreSiteUrl=").append(HiveConf.getMetastoreSiteLocation()).append('\n');
+    dumpConfig(c, sb);
+    sb.append("END========\"new HiveConf()\"========\n");
+    return sb.toString();
+  }
+  private static void dumpConfig(Configuration conf, StringBuilder sb) {
+    Iterator<Map.Entry<String, String>> configIter = conf.iterator();
+    List<Map.Entry<String, String>>configVals = new ArrayList<>();
     while(configIter.hasNext()) {
       configVals.add(configIter.next());
     }
@@ -253,20 +269,18 @@ public class AppConfig extends Configuration {
     for(Map.Entry<String, String> entry : configVals) {
       //use get() to make sure variable substitution works
       if(entry.getKey().toLowerCase().contains("path")) {
-        StringTokenizer st = new StringTokenizer(get(entry.getKey()), File.pathSeparator);
+        StringTokenizer st = new StringTokenizer(conf.get(entry.getKey()), File.pathSeparator);
         sb.append(entry.getKey()).append("=\n");
         while(st.hasMoreTokens()) {
           sb.append("    ").append(st.nextToken()).append(File.pathSeparator).append('\n');
         }
       }
       else {
-        sb.append(entry.getKey()).append('=').append(get(entry.getKey())).append('\n');
+        sb.append(entry.getKey()).append('=').append(conf.get(entry.getKey())).append('\n');
       }
     }
-    sb.append("END========WebHCat AppConfig.iterator()========: \n");
-    sb.append(TempletonUtils.dumpPropMap("========WebHCat System.getProperties()========", System.getProperties()));
-    return sb.toString();
   }
+
   public void startCleanup() {
     JobState.getStorageInstance(this).startCleanup(this);
   }

http://git-wip-us.apache.org/repos/asf/hive/blob/f6647897/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SecureProxySupport.java
----------------------------------------------------------------------
diff --git a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SecureProxySupport.java b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SecureProxySupport.java
index b4687b5..1ef5f27 100644
--- a/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SecureProxySupport.java
+++ b/hcatalog/webhcat/svr/src/main/java/org/apache/hive/hcatalog/templeton/SecureProxySupport.java
@@ -86,6 +86,9 @@ public class SecureProxySupport {
       } catch (Exception e) {
         throw new IOException(e);
       }
+      if(hcatTokenStr == null) {
+        LOG.error("open(" + user + ") token=null");
+      }
       Token<?> msToken = new Token();
       msToken.decodeFromUrlString(hcatTokenStr);
       msToken.setService(new Text(HCAT_SERVICE));
@@ -175,11 +178,10 @@ public class SecureProxySupport {
   }
 
   private String buildHcatDelegationToken(String user)
-    throws IOException, InterruptedException, MetaException, TException {
+    throws IOException, InterruptedException, TException {
     final HiveConf c = new HiveConf();
     final IMetaStoreClient client = HCatUtil.getHiveMetastoreClient(c);
     LOG.info("user: " + user + " loginUser: " + UserGroupInformation.getLoginUser().getUserName());
-    final TokenWrapper twrapper = new TokenWrapper();
     final UserGroupInformation ugi = UgiFactory.getUgi(user);
     String s = ugi.doAs(new PrivilegedExceptionAction<String>() {
       public String run()