You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2019/12/07 20:20:01 UTC
[ranger] branch master updated: RANGER-2654: updated
RangerAdminTagRetriever to use pluginConfig from RangerBasePlugin;
replaced multiple instances of RangerAdminConfig (#4)
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 <ma...@apache.org>
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