You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by co...@apache.org on 2017/06/14 09:56:39 UTC

ranger git commit: RANGER-1640 - HBase Test Connection does not work when creating a service

Repository: ranger
Updated Branches:
  refs/heads/master 2c57feaf8 -> 08d9c4e33


RANGER-1640 - HBase Test Connection does not work when creating a service

Signed-off-by: Colm O hEigeartaigh <co...@apache.org>


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

Branch: refs/heads/master
Commit: 08d9c4e332cc54bf900002771b63c480d8e1dcc4
Parents: 2c57fea
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Tue Jun 13 13:06:51 2017 +0100
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Wed Jun 14 10:48:19 2017 +0100

----------------------------------------------------------------------
 .../apache/ranger/plugin/client/BaseClient.java | 32 +++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/08d9c4e3/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
----------------------------------------------------------------------
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java b/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
index 485ac04..e1f9796 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/client/BaseClient.java
@@ -43,9 +43,9 @@ public abstract class BaseClient {
   	private String defaultConfigFile;
 	private Subject loginSubject;
 	private HadoopConfigHolder configHolder;
-	
+
 	protected Map<String,String> connectionProperties;
-	
+
   public BaseClient(String svcName, Map<String,String> connectionProperties) {
     this(svcName, connectionProperties, null);
   }
@@ -57,8 +57,8 @@ public abstract class BaseClient {
 		init();
 		login();
 	}
-	
-	
+
+
 	private void init() {
 		if (connectionProperties == null) {
 			configHolder = HadoopConfigHolder.getInstance(serviceName);
@@ -67,8 +67,8 @@ public abstract class BaseClient {
 			configHolder = HadoopConfigHolder.getInstance(serviceName,connectionProperties, defaultConfigFile);
 		}
 	}
-	
-	
+
+
 	protected void login() {
 		ClassLoader prevCl = Thread.currentThread().getContextClassLoader();
 		String errMsg = " You can still save the repository and start creating "
@@ -86,7 +86,7 @@ public abstract class BaseClient {
 				 nameRules = DEFAULT_NAME_RULE;
 			 }
 			 String userName = configHolder.getUserName();
-			 if(StringUtils.isEmpty(lookupPrincipal) || StringUtils.isEmpty(lookupKeytab)){				
+			 if(StringUtils.isEmpty(lookupPrincipal) || StringUtils.isEmpty(lookupKeytab)){
 				 if (userName == null) {
 					 String msgDesc = "Unable to find login username for hadoop environment, ["
 						+ serviceName + "]";
@@ -109,7 +109,17 @@ public abstract class BaseClient {
 				 }
 				 else {
 					 String encryptedPwd = configHolder.getPassword();
-					 String password = PasswordUtils.decryptPassword(encryptedPwd);
+					 String password = null;
+					 try {
+					     password = PasswordUtils.decryptPassword(encryptedPwd);
+					 } catch(Exception ex) {
+					     LOG.info("Password decryption failed; trying connection with received password string");
+					     password = null;
+					 } finally {
+					     if (password == null) {
+					         password = encryptedPwd;
+					     }
+					 }
 					 if ( configHolder.isKerberosAuthentication() ) {
 						 LOG.info("Init Login: using username/password");
 						 loginSubject = SecureClientLogin.loginUserWithPassword(userName, password);
@@ -125,7 +135,7 @@ public abstract class BaseClient {
 					 loginSubject = SecureClientLogin.loginUserFromKeytab(lookupPrincipal, lookupKeytab, nameRules);
 				 }else{
 					 LOG.info("Init Login: security not enabled, using username");
-					 loginSubject = SecureClientLogin.login(userName);					
+					 loginSubject = SecureClientLogin.login(userName);
 				 }
 			 }
 		} catch (IOException ioe) {
@@ -147,7 +157,7 @@ public abstract class BaseClient {
 			Thread.currentThread().setContextClassLoader(prevCl);
 		}
 	}
-	
+
 	public String getSerivceName() {
 		return serviceName;
 	}
@@ -159,7 +169,7 @@ public abstract class BaseClient {
 	protected HadoopConfigHolder getConfigHolder() {
 		return configHolder;
 	}
-	
+
 	public static void generateResponseDataMap(boolean connectivityStatus,
 			String message, String description, Long objectId,
 			String fieldName, Map<String, Object> responseData) {