You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2016/08/11 04:16:37 UTC

[2/5] incubator-ranger git commit: RANGER-1124:Good coding practices in Ranger recommended by static code analysis-High Impact

RANGER-1124:Good coding practices in Ranger recommended by static code analysis-High Impact

(cherry picked from commit 3caa698f3c6957ec5fe65b6e5bb0b59dc757dc34)


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

Branch: refs/heads/ranger-0.6
Commit: e8bc76f4d0d74d86ad512be5e2a72383d2c7f6eb
Parents: d691288
Author: rmani <rm...@hortonworks.com>
Authored: Thu Jul 28 23:00:05 2016 -0700
Committer: Velmurugan Periasamy <ve...@apache.org>
Committed: Thu Aug 11 09:33:31 2016 +0530

----------------------------------------------------------------------
 .../ranger/audit/provider/AuditProviderFactory.java  | 14 ++++++++------
 .../audit/provider/solr/SolrAuditProvider.java       | 10 ++++++----
 .../audit/utils/InMemoryJAASConfiguration.java       | 15 ++++++++-------
 .../java/org/apache/ranger/common/db/BaseDao.java    |  6 ++++++
 4 files changed, 28 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e8bc76f4/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
index e3e818c..e3c3508 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/AuditProviderFactory.java
@@ -67,7 +67,7 @@ public class AuditProviderFactory {
 
 	private static final int RANGER_AUDIT_SHUTDOWN_HOOK_PRIORITY = 30;
 
-	private static AuditProviderFactory sFactory;
+	private volatile static AuditProviderFactory sFactory = null;
 
 	private AuditHandler mProvider = null;
 	private String componentAppType = "";
@@ -80,15 +80,17 @@ public class AuditProviderFactory {
 	}
 
 	public static AuditProviderFactory getInstance() {
-		if (sFactory == null) {
-			synchronized (AuditProviderFactory.class) {
-				if (sFactory == null) {
-					sFactory = new AuditProviderFactory();
+		AuditProviderFactory ret = sFactory;
+		if(ret == null) {
+			synchronized(AuditProviderFactory.class) {
+				ret = sFactory;
+				if(ret == null) {
+					ret = sFactory = new AuditProviderFactory();
 				}
 			}
 		}
 
-		return sFactory;
+		return ret;
 	}
 
 	public static AuditHandler getAuditProvider() {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e8bc76f4/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
index 9388914..8b42be0 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/provider/solr/SolrAuditProvider.java
@@ -42,7 +42,7 @@ public class SolrAuditProvider extends AuditDestination {
 	public static final String AUDIT_RETRY_WAIT_PROP = "xasecure.audit.solr.retry.ms";
 
 	static final Object lock = new Object();
-	SolrClient solrClient = null;
+	volatile SolrClient solrClient = null;
 	Date lastConnectTime = null;
 	long lastFailTime = 0;
 
@@ -61,9 +61,11 @@ public class SolrAuditProvider extends AuditDestination {
 	}
 
 	void connect() {
-		if (solrClient == null) {
+		SolrClient  me  = solrClient;
+		if (me == null) {
 			synchronized (lock) {
-				if (solrClient == null) {
+				me = solrClient;
+				if (me == null) {
 					String solrURL = MiscUtil.getStringProperty(props,
 							"xasecure.audit.solr.solr_url");
 
@@ -89,7 +91,7 @@ public class SolrAuditProvider extends AuditDestination {
 
 					try {
 						// TODO: Need to support SolrCloud also
-						solrClient = new HttpSolrClient(solrURL);
+						me = solrClient = new HttpSolrClient(solrURL);
 						if (solrClient instanceof HttpSolrClient) {
 							HttpSolrClient httpSolrClient = (HttpSolrClient) solrClient;
 							httpSolrClient.setAllowCompression(true);

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e8bc76f4/agents-audit/src/main/java/org/apache/ranger/audit/utils/InMemoryJAASConfiguration.java
----------------------------------------------------------------------
diff --git a/agents-audit/src/main/java/org/apache/ranger/audit/utils/InMemoryJAASConfiguration.java b/agents-audit/src/main/java/org/apache/ranger/audit/utils/InMemoryJAASConfiguration.java
index be9cdd3..2e8b768 100644
--- a/agents-audit/src/main/java/org/apache/ranger/audit/utils/InMemoryJAASConfiguration.java
+++ b/agents-audit/src/main/java/org/apache/ranger/audit/utils/InMemoryJAASConfiguration.java
@@ -148,14 +148,15 @@ public final class InMemoryJAASConfiguration extends Configuration {
             properties.load(in);
             init(properties);
         } catch (IOException e) {
-            if (in != null) {
-                try {
-                    in.close();
-                } catch (Exception exception) {
-                    // Ignore
-                }
-            }
             throw new Exception("Failed to load JAAS application properties", e);
+        } finally {
+	        if ( in != null) {
+	           try {
+	               in.close();
+	            } catch ( Exception e) {
+	               //Ignore
+	            }
+	        }
         }
         LOG.debug("<== InMemoryJAASConfiguration.init( {} ) ", propFile);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/e8bc76f4/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java b/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java
index 13607d3..e3ba5a6 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/db/BaseDao.java
@@ -233,6 +233,12 @@ public abstract class BaseDao<T> {
 			conn.createStatement().execute("SET IDENTITY_INSERT " + tableName + " " + identityInsertStr);
 		} catch (SQLException e) {
 			logger.error("Error while settion identity_insert " + identityInsertStr, e);
+		} finally {
+			try {
+				conn.close();
+			} catch ( SQLException sqe ) {
+				logger.error("Error while settion identity_insert " + identityInsertStr, sqe);
+			}
 		}
 	}