You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2014/11/25 21:20:20 UTC

svn commit: r1641682 - in /hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift: DBTokenStore.java MemoryTokenStore.java

Author: brock
Date: Tue Nov 25 20:20:19 2014
New Revision: 1641682

URL: http://svn.apache.org/r1641682
Log:
HIVE-8935 - Add debug logging around token stores (Brock reviewed by Prasad)

Modified:
    hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java
    hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java

Modified: hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java?rev=1641682&r1=1641681&r2=1641682&view=diff
==============================================================================
--- hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java (original)
+++ hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java Tue Nov 25 20:20:19 2014
@@ -28,17 +28,25 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge.Server.ServerMode;
 import org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.DelegationTokenInformation;
 import org.apache.hadoop.security.token.delegation.HiveDelegationTokenSupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DBTokenStore implements DelegationTokenStore {
-
+  private static final Logger LOG = LoggerFactory.getLogger(DBTokenStore.class);
 
   @Override
   public int addMasterKey(String s) throws TokenStoreException {
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("addMasterKey: s = " + s);
+    }
     return (Integer)invokeOnRawStore("addMasterKey", new Object[]{s},String.class);
   }
 
   @Override
   public void updateMasterKey(int keySeq, String s) throws TokenStoreException {
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("updateMasterKey: s = " + s + ", keySeq = " + keySeq);
+    }
     invokeOnRawStore("updateMasterKey", new Object[] {Integer.valueOf(keySeq), s},
         Integer.class, String.class);
   }
@@ -62,8 +70,12 @@ public class DBTokenStore implements Del
       String identifier = TokenStoreDelegationTokenSecretManager.encodeWritable(tokenIdentifier);
       String tokenStr = Base64.encodeBase64URLSafeString(
         HiveDelegationTokenSupport.encodeDelegationTokenInformation(token));
-      return (Boolean)invokeOnRawStore("addToken", new Object[] {identifier, tokenStr},
+      boolean result = (Boolean)invokeOnRawStore("addToken", new Object[] {identifier, tokenStr},
         String.class, String.class);
+      if (LOG.isTraceEnabled()) {
+        LOG.trace("addToken: tokenIdentifier = " + tokenIdentifier + ", addded = " + result);
+      }
+      return result;
     } catch (IOException e) {
       throw new TokenStoreException(e);
     }
@@ -75,7 +87,14 @@ public class DBTokenStore implements Del
     try {
       String tokenStr = (String)invokeOnRawStore("getToken", new Object[] {
           TokenStoreDelegationTokenSecretManager.encodeWritable(tokenIdentifier)}, String.class);
-      return (null == tokenStr) ? null : HiveDelegationTokenSupport.decodeDelegationTokenInformation(Base64.decodeBase64(tokenStr));
+      DelegationTokenInformation result = null;
+      if (tokenStr != null) {
+        result = HiveDelegationTokenSupport.decodeDelegationTokenInformation(Base64.decodeBase64(tokenStr));
+      }
+      if (LOG.isTraceEnabled()) {
+        LOG.trace("getToken: tokenIdentifier = " + tokenIdentifier + ", result = " + result);
+      }
+      return result;
     } catch (IOException e) {
       throw new TokenStoreException(e);
     }
@@ -84,8 +103,12 @@ public class DBTokenStore implements Del
   @Override
   public boolean removeToken(DelegationTokenIdentifier tokenIdentifier) throws TokenStoreException{
     try {
-      return (Boolean)invokeOnRawStore("removeToken", new Object[] {
+      boolean result = (Boolean)invokeOnRawStore("removeToken", new Object[] {
         TokenStoreDelegationTokenSecretManager.encodeWritable(tokenIdentifier)}, String.class);
+      if (LOG.isTraceEnabled()) {
+        LOG.trace("removeToken: tokenIdentifier = " + tokenIdentifier + ", addded = " + result);
+      }
+      return result;
     } catch (IOException e) {
       throw new TokenStoreException(e);
     }

Modified: hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java?rev=1641682&r1=1641681&r2=1641682&view=diff
==============================================================================
--- hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java (original)
+++ hive/trunk/shims/common-secure/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java Tue Nov 25 20:20:19 2014
@@ -28,11 +28,14 @@ import java.util.concurrent.atomic.Atomi
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge.Server.ServerMode;
 import org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.DelegationTokenInformation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default in-memory token store implementation.
  */
 public class MemoryTokenStore implements DelegationTokenStore {
+  private static final Logger LOG = LoggerFactory.getLogger(MemoryTokenStore.class);
 
   private final Map<Integer, String> masterKeys
       = new ConcurrentHashMap<Integer, String>();
@@ -56,17 +59,26 @@ public class MemoryTokenStore implements
   @Override
   public int addMasterKey(String s) {
     int keySeq = masterKeySeq.getAndIncrement();
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("addMasterKey: s = " + s + ", keySeq = " + keySeq);
+    }
     masterKeys.put(keySeq, s);
     return keySeq;
   }
 
   @Override
   public void updateMasterKey(int keySeq, String s) {
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("updateMasterKey: s = " + s + ", keySeq = " + keySeq);
+    }
     masterKeys.put(keySeq, s);
   }
 
   @Override
   public boolean removeMasterKey(int keySeq) {
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("removeMasterKey: keySeq = " + keySeq);
+    }
     return masterKeys.remove(keySeq) != null;
   }
 
@@ -79,18 +91,28 @@ public class MemoryTokenStore implements
   public boolean addToken(DelegationTokenIdentifier tokenIdentifier,
     DelegationTokenInformation token) {
     DelegationTokenInformation tokenInfo = tokens.putIfAbsent(tokenIdentifier, token);
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("addToken: tokenIdentifier = " + tokenIdentifier + ", addded = " + (tokenInfo == null));
+    }
     return (tokenInfo == null);
   }
 
   @Override
   public boolean removeToken(DelegationTokenIdentifier tokenIdentifier) {
     DelegationTokenInformation tokenInfo = tokens.remove(tokenIdentifier);
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("removeToken: tokenIdentifier = " + tokenIdentifier + ", removed = " + (tokenInfo != null));
+    }
     return tokenInfo != null;
   }
 
   @Override
   public DelegationTokenInformation getToken(DelegationTokenIdentifier tokenIdentifier) {
-    return tokens.get(tokenIdentifier);
+    DelegationTokenInformation result = tokens.get(tokenIdentifier);
+    if (LOG.isTraceEnabled()) {
+      LOG.trace("getToken: tokenIdentifier = " + tokenIdentifier + ", result = " + result);
+    }
+    return result;
   }
 
   @Override