This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new f028a21  RANGER-2654: updated RangerAdminTagRetriever to use 
pluginConfig from RangerBasePlugin; replaced multiple instances of 
RangerAdminConfig (#4)
f028a21 is described below

commit f028a213463d5ebd5b150c78fc43931fa8e49c92
Author: Madhan Neethiraj <[email protected]>
AuthorDate: Fri Dec 6 02:01:48 2019 -0800

    RANGER-2654: updated RangerAdminTagRetriever to use pluginConfig from 
RangerBasePlugin; replaced multiple instances of RangerAdminConfig (#4)
    
    Change-Id: Ia7aff3318f60491940be3e6137474c897d029925
---
 .../hadoop/config/RangerAdminConfig.java           | 20 +++++++++++++++++++-
 .../RangerAbstractContextEnricher.java             | 22 ++++++++++++++++------
 .../contextenricher/RangerAdminTagRetriever.java   |  8 ++++++--
 .../plugin/contextenricher/RangerTagEnricher.java  |  1 +
 .../plugin/contextenricher/RangerTagRetriever.java | 10 +++++++---
 .../ranger/plugin/service/RangerBasePlugin.java    |  4 ++++
 .../ranger/plugin/service/RangerBaseService.java   |  2 +-
 .../ranger/plugin/store/AbstractServiceStore.java  |  2 +-
 .../plugin/store/EmbeddedServiceDefsUtil.java      |  2 +-
 .../java/org/apache/ranger/biz/RangerBizUtil.java  |  2 +-
 .../java/org/apache/ranger/biz/RoleDBStore.java    |  2 +-
 .../java/org/apache/ranger/biz/ServiceDBStore.java |  2 +-
 .../java/org/apache/ranger/biz/TagDBStore.java     |  4 ++--
 .../ranger/common/RangerAdminTagEnricher.java      |  2 +-
 .../org/apache/ranger/common/RangerRoleCache.java  |  2 +-
 .../ranger/common/RangerServicePoliciesCache.java  |  2 +-
 .../ranger/common/RangerServiceTagsCache.java      |  2 +-
 .../java/org/apache/ranger/patch/BaseLoader.java   |  2 +-
 .../java/org/apache/ranger/rest/ServiceREST.java   |  2 +-
 .../ranger/service/RangerServiceDefService.java    |  2 +-
 20 files changed, 68 insertions(+), 27 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
 
b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
index 8783142..5cd539a 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/authorization/hadoop/config/RangerAdminConfig.java
@@ -24,7 +24,25 @@ import org.apache.log4j.Logger;
 public class RangerAdminConfig extends RangerConfiguration {
     private static final Logger LOG = 
Logger.getLogger(RangerAdminConfig.class);
 
-    public RangerAdminConfig() {
+    private static volatile RangerAdminConfig sInstance = null;
+
+    public static RangerAdminConfig getInstance() {
+        RangerAdminConfig ret = RangerAdminConfig.sInstance;
+
+        if (ret == null) {
+            synchronized (RangerAdminConfig.class) {
+                ret = RangerAdminConfig.sInstance;
+
+                if (ret == null) {
+                    ret = RangerAdminConfig.sInstance = new 
RangerAdminConfig();
+                }
+            }
+        }
+
+        return ret;
+    }
+
+    private RangerAdminConfig() {
         super();
 
         addAdminResources();
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
index 99d97cc..fa84760 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAbstractContextEnricher.java
@@ -32,6 +32,7 @@ import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import 
org.apache.ranger.plugin.model.RangerServiceDef.RangerContextEnricherDef;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
@@ -175,6 +176,12 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
                this.pluginContext = pluginContext;
        }
 
+       public RangerPluginConfig getPluginConfig() {
+               RangerPluginContext pluginContext = this.pluginContext;
+
+               return pluginContext != null ? pluginContext.getConfig() : null;
+       }
+
        public void notifyAuthContextChanged() {
                RangerPluginContext pluginContext = this.pluginContext;
 
@@ -184,8 +191,9 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
        }
 
        public String getConfig(String configName, String defaultValue) {
-               String        ret    = defaultValue;
-               Configuration config = pluginContext != null ? 
pluginContext.getConfig() : null;
+               RangerPluginContext pluginContext = this.pluginContext;
+               String              ret           = defaultValue;
+               Configuration       config        = pluginContext != null ? 
pluginContext.getConfig() : null;
 
                if (config != null) {
                        ret = config.get(configName, defaultValue);
@@ -195,8 +203,9 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
        }
 
        public int getIntConfig(String configName, int defaultValue) {
-               int           ret    = defaultValue;
-               Configuration config = pluginContext != null ? 
pluginContext.getConfig() : null;
+               RangerPluginContext pluginContext = this.pluginContext;
+               int                 ret           = defaultValue;
+               Configuration       config        = pluginContext != null ? 
pluginContext.getConfig() : null;
 
                if (config != null) {
                        ret = config.getInt(configName, defaultValue);
@@ -206,8 +215,9 @@ public abstract class RangerAbstractContextEnricher 
implements RangerContextEnri
        }
 
        public boolean getBooleanConfig(String configName, boolean 
defaultValue) {
-               boolean       ret    = defaultValue;
-               Configuration config = pluginContext != null ? 
pluginContext.getConfig() : null;
+               RangerPluginContext pluginContext = this.pluginContext;
+               boolean             ret           = defaultValue;
+               Configuration       config        = pluginContext != null ? 
pluginContext.getConfig() : null;
 
                if (config != null) {
                        ret = config.getBoolean(configName, defaultValue);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
index e4b19c3..7b49a99 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerAdminTagRetriever.java
@@ -39,9 +39,13 @@ public class RangerAdminTagRetriever extends 
RangerTagRetriever {
        public void init(Map<String, String> options) {
 
                if (StringUtils.isNotBlank(serviceName) && serviceDef != null 
&& StringUtils.isNotBlank(appId)) {
-                       RangerPluginConfig config = new 
RangerPluginConfig(serviceDef.getName(), serviceName, appId, null, null, null);
+                       RangerPluginConfig pluginConfig = super.pluginConfig;
 
-                       adminClient = 
RangerBasePlugin.createAdminClient(config);
+                       if (pluginConfig == null) {
+                               pluginConfig = new 
RangerPluginConfig(serviceDef.getName(), serviceName, appId, null, null, null);
+                       }
+
+                       adminClient = 
RangerBasePlugin.createAdminClient(pluginConfig);
                } else {
                        LOG.error("FATAL: Cannot find service/serviceDef to use 
for retrieving tags. Will NOT be able to retrieve tags.");
                }
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
index 7e03690..5d6a403 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagEnricher.java
@@ -129,6 +129,7 @@ public class RangerTagEnricher extends 
RangerAbstractContextEnricher {
                                tagRetriever.setServiceName(serviceName);
                                tagRetriever.setServiceDef(serviceDef);
                                tagRetriever.setAppId(appId);
+                               tagRetriever.setPluginConfig(getPluginConfig());
                                
tagRetriever.init(enricherDef.getEnricherOptions());
 
                                tagRefresher = new 
RangerTagRefresher(tagRetriever, this, -1L, tagDownloadQueue, cacheFile);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagRetriever.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagRetriever.java
index 91fdcc3..0f09b64 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagRetriever.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/contextenricher/RangerTagRetriever.java
@@ -19,6 +19,7 @@
 
 package org.apache.ranger.plugin.contextenricher;
 
+import org.apache.ranger.authorization.hadoop.config.RangerPluginConfig;
 import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.util.ServiceTags;
 
@@ -26,9 +27,10 @@ import java.util.Map;
 
 public abstract class RangerTagRetriever {
 
-       protected String serviceName;
-       protected RangerServiceDef serviceDef;
-       protected String appId;
+       protected String             serviceName;
+       protected RangerServiceDef   serviceDef;
+       protected String             appId;
+       protected RangerPluginConfig pluginConfig;
 
        public abstract void init(Map<String, String> options);
 
@@ -57,4 +59,6 @@ public abstract class RangerTagRetriever {
        public void setAppId(String appId) {
                this.appId = appId;
        }
+
+       public void setPluginConfig(RangerPluginConfig pluginConfig) { 
this.pluginConfig = pluginConfig; }
 }
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
index f5cdddf..6f1d9f9 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBasePlugin.java
@@ -73,6 +73,10 @@ public class RangerBasePlugin {
                this(new RangerPluginConfig(serviceType, null, appId, null, 
null, null));
        }
 
+       public RangerBasePlugin(String serviceType, String serviceName, String 
appId) {
+               this(new RangerPluginConfig(serviceType, serviceName, appId, 
null, null, null));
+       }
+
        public RangerBasePlugin(RangerPluginConfig pluginConfig) {
                this.pluginConfig  = pluginConfig;
                this.pluginContext = new RangerPluginContext(pluginConfig);
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
index 01a7c9f..23f5a22 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerBaseService.java
@@ -69,7 +69,7 @@ public abstract class RangerBaseService {
        private final RangerAdminConfig config;
 
        public RangerBaseService() {
-               this.config = new RangerAdminConfig();
+               this.config = RangerAdminConfig.getInstance();
        }
 
        public void init(RangerServiceDef serviceDef, RangerService service) {
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
index 3b54960..e9d199b 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractServiceStore.java
@@ -55,7 +55,7 @@ public abstract class AbstractServiceStore implements 
ServiceStore {
        protected abstract void 
updateServicesForServiceDefUpdate(RangerServiceDef serviceDef) throws Exception;
 
        protected AbstractServiceStore() {
-               this.config = new RangerAdminConfig();
+               this.config = RangerAdminConfig.getInstance();
        }
 
        @Override
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
index 543d13f..e96f881 100755
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/EmbeddedServiceDefsUtil.java
@@ -119,7 +119,7 @@ public class EmbeddedServiceDefsUtil {
        /** Private constructor to restrict instantiation of this singleton 
utility class. */
        private EmbeddedServiceDefsUtil() {
                gsonBuilder = new 
GsonBuilder().setDateFormat("yyyyMMdd-HH:mm:ss.SSS-Z").setPrettyPrinting().create();
-               config      = new RangerAdminConfig();
+               config      = RangerAdminConfig.getInstance();
        }
 
        public static EmbeddedServiceDefsUtil instance() {
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java 
b/security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java
index 3761ef2..206f6af 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/RangerBizUtil.java
@@ -113,7 +113,7 @@ public class RangerBizUtil {
        static String fileSeparator = 
PropertiesUtil.getProperty("ranger.file.separator", "/");
 
        public RangerBizUtil() {
-               RangerAdminConfig config = new RangerAdminConfig();
+               RangerAdminConfig config = RangerAdminConfig.getInstance();
 
                allowUnauthenticatedAccessInSecureEnvironment = 
config.getBoolean("ranger.admin.allow.unauthenticated.access", false);
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java
index ec4615d..04596dc 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/RoleDBStore.java
@@ -83,7 +83,7 @@ public class RoleDBStore implements RoleStore {
             LOG.debug("==> RoleDBStore.initStore()");
         }
 
-        config = new RangerAdminConfig();
+        config = RangerAdminConfig.getInstance();
 
         roleService.setPopulateExistingBaseFields(populateExistingBaseFields);
         predicateUtil = new RolePredicateUtil();
diff --git 
a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
index 80e3f97..0fd5093 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/ServiceDBStore.java
@@ -361,7 +361,7 @@ public class ServiceDBStore extends AbstractServiceStore {
                        LOG.debug("==> ServiceDBStore.initStore()");
                }
 
-               config = new RangerAdminConfig();
+               config = RangerAdminConfig.getInstance();
 
                if(! legacyServiceDefsInitDone) {
                        synchronized(ServiceDBStore.class) {
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/TagDBStore.java 
b/security-admin/src/main/java/org/apache/ranger/biz/TagDBStore.java
index 2d7f407..581f11a 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/TagDBStore.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/TagDBStore.java
@@ -104,7 +104,7 @@ public class TagDBStore extends AbstractTagStore {
 
        @PostConstruct
        public void initStore() {
-               config = new RangerAdminConfig();
+               config = RangerAdminConfig.getInstance();
 
                RangerAdminTagEnricher.setTagStore(this);
                RangerAdminTagEnricher.setDaoManager(daoManager);
@@ -1272,7 +1272,7 @@ public class TagDBStore extends AbstractTagStore {
 
        public static boolean isSupportsTagDeltas() {
         if (!IS_SUPPORTS_TAG_DELTAS_INITIALIZED) {
-            RangerAdminConfig config = new RangerAdminConfig();
+            RangerAdminConfig config = RangerAdminConfig.getInstance();
 
             SUPPORTS_TAG_DELTAS = 
config.getBoolean("ranger.admin.supports.tag.deltas", false);
             IS_SUPPORTS_TAG_DELTAS_INITIALIZED = true;
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerAdminTagEnricher.java
 
b/security-admin/src/main/java/org/apache/ranger/common/RangerAdminTagEnricher.java
index c4b134e..09e5c50 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerAdminTagEnricher.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerAdminTagEnricher.java
@@ -59,7 +59,7 @@ public class RangerAdminTagEnricher extends RangerTagEnricher 
{
         super.init();
 
         if (!ADMIN_TAG_ENRICHER_SUPPORTS_TAG_DELTAS_INITIALIZED) {
-            RangerAdminConfig config = new RangerAdminConfig();
+            RangerAdminConfig config = RangerAdminConfig.getInstance();
 
             ADMIN_TAG_ENRICHER_SUPPORTS_TAG_DELTAS = 
config.getBoolean("ranger.admin.tag.enricher.supports.tag.deltas", true);
 
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java 
b/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
index 0b94c19..f86a8ba 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerRoleCache.java
@@ -58,7 +58,7 @@ public class RangerRoleCache {
        }
 
        private RangerRoleCache() {
-               RangerAdminConfig config = new RangerAdminConfig();
+               RangerAdminConfig config = RangerAdminConfig.getInstance();
 
                waitTimeInSeconds = 
config.getInt("ranger.admin.policy.download.cache.max.waittime.for.update", 
MAX_WAIT_TIME_FOR_UPDATE);
        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
index 536cb06..23c40b5 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServicePoliciesCache.java
@@ -61,7 +61,7 @@ public class RangerServicePoliciesCache {
        }
 
        private RangerServicePoliciesCache() {
-               RangerAdminConfig config = new RangerAdminConfig();
+               RangerAdminConfig config = RangerAdminConfig.getInstance();
 
                waitTimeInSeconds = 
config.getInt("ranger.admin.policy.download.cache.max.waittime.for.update", 
MAX_WAIT_TIME_FOR_UPDATE);
        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
index 249a3bf..9431c3a 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerServiceTagsCache.java
@@ -59,7 +59,7 @@ public class RangerServiceTagsCache {
        }
 
        private RangerServiceTagsCache() {
-               RangerAdminConfig config = new RangerAdminConfig();
+               RangerAdminConfig config = RangerAdminConfig.getInstance();
 
                useServiceTagsCache = 
config.getBoolean("ranger.admin.tag.download.usecache", true);
                waitTimeInSeconds   = 
config.getInt("ranger.admin.tag.download.cache.max.waittime.for.update", 
MAX_WAIT_TIME_FOR_UPDATE);
diff --git 
a/security-admin/src/main/java/org/apache/ranger/patch/BaseLoader.java 
b/security-admin/src/main/java/org/apache/ranger/patch/BaseLoader.java
index 6cae5cb..0eb8c26 100644
--- a/security-admin/src/main/java/org/apache/ranger/patch/BaseLoader.java
+++ b/security-admin/src/main/java/org/apache/ranger/patch/BaseLoader.java
@@ -49,7 +49,7 @@ public abstract class BaseLoader {
     protected final RangerAdminConfig config;
 
     public BaseLoader() {
-       this.config = new RangerAdminConfig();
+        this.config = RangerAdminConfig.getInstance();
     }
 
     public void init(int batchSize) throws Exception {
diff --git 
a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
index 5a57ee0..f2bbd3c 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
@@ -244,7 +244,7 @@ public class ServiceREST {
        private RangerPolicyEngineOptions delegateAdminOptions;
        private RangerPolicyEngineOptions policySearchAdminOptions;
        private RangerPolicyEngineOptions defaultAdminOptions;
-       private final RangerAdminConfig   config = new RangerAdminConfig();
+       private final RangerAdminConfig   config = 
RangerAdminConfig.getInstance();
 
        public ServiceREST() {
        }
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java
index 1ec2f49..954c10e 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerServiceDefService.java
@@ -38,7 +38,7 @@ public class RangerServiceDefService extends 
RangerServiceDefServiceBase<XXServi
        public RangerServiceDefService() {
                super();
 
-               this.config = new RangerAdminConfig();
+               this.config = RangerAdminConfig.getInstance();
        }
 
        @Override

Reply via email to