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

nikhil 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 51bb1f8  RANGER-2466 : Improvement in setting cluster Name in 
RangerAccessRequest
51bb1f8 is described below

commit 51bb1f831f956c6f88efb5305fd7aeb3859aee1f
Author: Nikhil P <[email protected]>
AuthorDate: Mon Jun 24 19:34:55 2019 +0530

    RANGER-2466 : Improvement in setting cluster Name in RangerAccessRequest
---
 .../policyengine/RangerAccessRequestImpl.java      |  1 -
 .../plugin/policyengine/RangerPluginContext.java   | 63 ++++++++++++++++++++++
 .../policyengine/RangerPolicyEngineCache.java      |  7 ++-
 .../policyengine/RangerPolicyEngineImpl.java       | 32 ++++++++---
 .../ranger/plugin/service/RangerAuthContext.java   | 52 +++++++++++++-----
 .../ranger/plugin/service/RangerBasePlugin.java    | 26 +++------
 .../ranger/plugin/policyengine/TestPolicyACLs.java |  4 +-
 .../ranger/plugin/policyengine/TestPolicyDb.java   |  5 +-
 .../plugin/policyengine/TestPolicyEngine.java      |  6 ++-
 .../authorization/hbase/AuthorizationSession.java  | 11 +---
 .../hbase/RangerAuthorizationCoprocessor.java      | 33 +++---------
 .../authorization/hbase/TestPolicyEngine.java      |  6 ++-
 .../authorization/hadoop/RangerHdfsAuthorizer.java | 12 ++---
 .../hive/authorizer/RangerHiveAccessRequest.java   | 13 ++---
 .../hive/authorizer/RangerHiveAuthorizer.java      | 22 +++-----
 .../authorization/knox/KnoxRangerPlugin.java       |  6 ---
 .../authorization/knox/RangerPDPKnoxFilter.java    |  5 +-
 .../atlas/authorizer/RangerAtlasAuthorizer.java    | 10 ----
 .../authorizer/RangerElasticsearchAuthorizer.java  |  6 +--
 .../kafka/authorizer/RangerKafkaAuthorizer.java    |  2 -
 .../kms/authorizer/RangerKmsAuthorizer.java        |  9 ++--
 .../kylin/authorizer/RangerKylinAuthorizer.java    |  6 +--
 .../solr/authorizer/RangerSolrAuthorizer.java      |  8 ++-
 .../sqoop/authorizer/RangerSqoopAuthorizer.java    |  8 +--
 .../yarn/authorizer/RangerYarnAuthorizer.java      |  6 +--
 .../apache/ranger/policyengine/PerfTestEngine.java |  8 ++-
 .../RangerPolicyEnginePerformanceTest.java         |  6 ++-
 .../authorization/storm/StormRangerPlugin.java     |  3 +-
 .../storm/authorizer/RangerStormAuthorizer.java    |  3 +-
 29 files changed, 208 insertions(+), 171 deletions(-)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
index fd41222..1f2f8ea 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerAccessRequestImpl.java
@@ -72,7 +72,6 @@ public class RangerAccessRequestImpl implements 
RangerAccessRequest {
                setRequestData(null);
                setSessionId(null);
                setContext(null);
-               setClusterName(null);
        }
 
        @Override
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
new file mode 100644
index 0000000..36dcec1
--- /dev/null
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPluginContext.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ranger.plugin.policyengine;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ranger.authorization.hadoop.config.RangerConfiguration;
+import org.apache.ranger.authorization.utils.StringUtil;
+import org.apache.ranger.plugin.service.RangerBasePlugin;
+
+public class RangerPluginContext {
+
+       private static final Log LOG = 
LogFactory.getLog(RangerBasePlugin.class);
+       private String clusterName;
+
+       public RangerPluginContext(String serviceType){
+               this.clusterName = findClusterName(serviceType);
+       }
+
+       public String getClusterName() {
+               return clusterName;
+       }
+
+       public void setClusterName(String clusterName) {
+               this.clusterName = clusterName;
+       }
+
+       private String findClusterName(String serviceType) {
+               if(LOG.isDebugEnabled()) {
+                       LOG.debug("==> RangerPluginContext.findClusterName , 
serviceType = " + serviceType);
+               }
+
+               String propertyPrefix    = "ranger.plugin." + serviceType;
+               String clusterName = 
RangerConfiguration.getInstance().get(propertyPrefix + ".access.cluster.name", 
"");
+               if(StringUtil.isEmpty(clusterName)){
+                       clusterName = 
RangerConfiguration.getInstance().get(propertyPrefix + ".ambari.cluster.name", 
"");
+               }
+
+               if(LOG.isDebugEnabled()) {
+                       LOG.debug("<== RangerPluginContext.findClusterName ");
+               }
+
+               return clusterName;
+       }
+
+}
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineCache.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineCache.java
index 4a41e62..015ca09 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineCache.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineCache.java
@@ -32,6 +32,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerPolicyDelta;
 import org.apache.ranger.plugin.model.RangerSecurityZone;
+import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.store.SecurityZoneStore;
 import org.apache.ranger.plugin.store.ServiceStore;
 import org.apache.ranger.plugin.util.ServicePolicies;
@@ -75,7 +76,11 @@ public class RangerPolicyEngineCache {
 
 
        private RangerPolicyEngine addPolicyEngine(ServicePolicies policies, 
RangerPolicyEngineOptions options) {
-               RangerPolicyEngine ret = new 
RangerPolicyEngineImpl("ranger-admin", policies, options);
+               RangerServiceDef serviceDef = policies.getServiceDef();
+               String serviceType = (serviceDef != null) ? 
serviceDef.getName() : "";
+
+               RangerPluginContext rangerPluginContext = new 
RangerPluginContext(serviceType);
+               RangerPolicyEngine ret = new 
RangerPolicyEngineImpl("ranger-admin", policies, options, rangerPluginContext);
 
                policyEngineCache.put(policies.getServiceName(), ret);
 
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
index e0043ff..0edf149 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
@@ -86,8 +86,13 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
        private Map<String, String>               zoneTagServiceMap;
        private final Map<String, Set<String>>         userRoleMapping;
        private final Map<String, Set<String>>         groupRoleMapping;
+       private final RangerPluginContext rangerPluginContext;
 
        public RangerPolicyEngineImpl(final RangerPolicyEngineImpl other, 
ServicePolicies servicePolicies) {
+                this(other, servicePolicies, null);
+       }
+
+       public RangerPolicyEngineImpl(final RangerPolicyEngineImpl other, 
ServicePolicies servicePolicies, RangerPluginContext rangerPluginContext) {
 
                List<RangerPolicyDelta> deltas        = 
servicePolicies.getPolicyDeltas();
                long                    policyVersion = 
servicePolicies.getPolicyVersion();
@@ -195,8 +200,9 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
                        }
                }
 
-               List<RangerContextEnricher> tmpList;
+               this.rangerPluginContext = (rangerPluginContext != null) ? 
rangerPluginContext : null;
 
+               List<RangerContextEnricher> tmpList;
                List<RangerContextEnricher> tagContextEnrichers = 
tagPolicyRepository == null ? null :tagPolicyRepository.getContextEnrichers();
                List<RangerContextEnricher> resourceContextEnrichers = 
policyRepository.getContextEnrichers();
 
@@ -219,8 +225,12 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
        }
 
        public RangerPolicyEngineImpl(String appId, ServicePolicies 
servicePolicies, RangerPolicyEngineOptions options) {
+                this(appId, servicePolicies, options, null);
+       }
+
+       public RangerPolicyEngineImpl(String appId, ServicePolicies 
servicePolicies, RangerPolicyEngineOptions options, RangerPluginContext 
rangerPluginContext) {
                if (LOG.isDebugEnabled()) {
-                       LOG.debug("==> RangerPolicyEngineImpl(" + appId + ", " 
+ servicePolicies + ", " + options + ")");
+                       LOG.debug("==> RangerPolicyEngineImpl(" + appId + ", " 
+ servicePolicies + ", " + options + ", " + rangerPluginContext + ")");
                }
 
                RangerPerfTracer perf = null;
@@ -236,6 +246,8 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
                        options = new RangerPolicyEngineOptions();
                }
 
+               this.rangerPluginContext = (rangerPluginContext != null) ? 
rangerPluginContext : null;
+
                if(StringUtils.isBlank(options.evaluatorType) || 
StringUtils.equalsIgnoreCase(options.evaluatorType, 
RangerPolicyEvaluator.EVALUATOR_TYPE_AUTO)) {
 
                        String serviceType  = 
servicePolicies.getServiceDef().getName();
@@ -270,7 +282,6 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
                        if (LOG.isDebugEnabled()) {
                                LOG.debug("RangerPolicyEngineImpl : Building 
tag-policy-repository for tag-service " + tagPolicies.getServiceName());
                        }
-
                        tagPolicyRepository = new RangerPolicyRepository(appId, 
tagPolicies, options, servicePolicies.getServiceDef(), 
servicePolicies.getServiceName());
 
                } else {
@@ -333,9 +344,10 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
                
if(RangerPerfTracer.isPerfTraceEnabled(PERF_POLICYENGINE_INIT_LOG)) {
                        perf = 
RangerPerfTracer.getPerfTracer(PERF_POLICYENGINE_INIT_LOG, 
"RangerPolicyEngine.cloneWithDelta()");
                }
-
-               if 
(CollectionUtils.isNotEmpty(servicePolicies.getPolicyDeltas()) && 
RangerPolicyDeltaUtil.isValidDeltas(servicePolicies.getPolicyDeltas(), 
this.getServiceDef().getName())) {
-                       ret = new RangerPolicyEngineImpl(this, servicePolicies);
+               RangerServiceDef serviceDef = this.getServiceDef();
+               String serviceType = (serviceDef != null) ? 
serviceDef.getName() : "";
+               if 
(CollectionUtils.isNotEmpty(servicePolicies.getPolicyDeltas()) && 
RangerPolicyDeltaUtil.isValidDeltas(servicePolicies.getPolicyDeltas(), 
serviceType)) {
+                       ret = new RangerPolicyEngineImpl(this, servicePolicies, 
this.rangerPluginContext);
                } else {
                        ret = null;
                }
@@ -410,7 +422,12 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
 
                setResourceServiceDef(request);
                if (request instanceof RangerAccessRequestImpl) {
-                       ((RangerAccessRequestImpl) 
request).extractAndSetClientIPAddress(useForwardedIPAddress, 
trustedProxyAddresses);
+                       RangerAccessRequestImpl reqImpl = 
(RangerAccessRequestImpl) request;
+                       
reqImpl.extractAndSetClientIPAddress(useForwardedIPAddress, 
trustedProxyAddresses);
+
+                       if(rangerPluginContext != null) {
+                               
reqImpl.setClusterName(rangerPluginContext.getClusterName());
+                       }
                }
 
                
RangerAccessRequestUtil.setCurrentUserInContext(request.getContext(), 
request.getUser());
@@ -440,7 +457,6 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
 
                }
 
-
                if(LOG.isDebugEnabled()) {
                        LOG.debug("<== RangerPolicyEngineImpl.preProcess(" + 
request + ")");
                }
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerAuthContext.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerAuthContext.java
index e854e05..67c068b 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerAuthContext.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/service/RangerAuthContext.java
@@ -21,6 +21,8 @@ package org.apache.ranger.plugin.service;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.contextenricher.RangerContextEnricher;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.model.RangerServiceDef;
@@ -30,6 +32,7 @@ import 
org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.policyengine.RangerAccessResultProcessor;
 import org.apache.ranger.plugin.policyengine.RangerMutableResource;
+import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerResourceACLs;
 import org.apache.ranger.plugin.policyengine.RangerResourceAccessInfo;
@@ -44,27 +47,40 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 public class RangerAuthContext implements RangerPolicyEngine {
+       private static final Log LOG = 
LogFactory.getLog(RangerAuthContext.class);
+       private final RangerPluginContext rangerPluginContext;
     private RangerPolicyEngine policyEngine;
     private Map<RangerContextEnricher, Object> requestContextEnrichers;
 
-    protected RangerAuthContext() {
-        this(null, null);
+       protected RangerAuthContext() {
+               this(null, null, null);
+       }
+
+    protected RangerAuthContext(RangerPluginContext rangerPluginContext) {
+        this(null, null, rangerPluginContext);
     }
 
-    RangerAuthContext(RangerPolicyEngine policyEngine, 
Map<RangerContextEnricher, Object> requestContextEnrichers) {
+    RangerAuthContext(RangerPolicyEngine policyEngine, 
Map<RangerContextEnricher, Object> requestContextEnrichers, RangerPluginContext 
rangerPluginContext) {
         this.policyEngine = policyEngine;
         this.requestContextEnrichers = requestContextEnrichers;
+        this.rangerPluginContext = rangerPluginContext;
     }
 
-    RangerAuthContext(RangerAuthContext other) {
-       if (other != null) {
-                   this.policyEngine = other.getPolicyEngine();
-                   Map<RangerContextEnricher, Object> localReference = 
other.requestContextEnrichers;
-                   if (MapUtils.isNotEmpty(localReference)) {
-                           this.requestContextEnrichers = new 
ConcurrentHashMap<>(localReference);
-                   }
-           }
+       RangerAuthContext(RangerAuthContext other) {
+               this(other, null);
+       }
+
+     RangerAuthContext(RangerAuthContext other, RangerPluginContext 
rangerPluginContext) {
+            if (other != null) {
+                this.policyEngine = other.getPolicyEngine();
+                Map<RangerContextEnricher, Object> localReference = 
other.requestContextEnrichers;
+                if (MapUtils.isNotEmpty(localReference)) {
+                    this.requestContextEnrichers = new 
ConcurrentHashMap<>(localReference);
+                    }
+                }
+            this.rangerPluginContext = rangerPluginContext;
     }
+
     public RangerPolicyEngine getPolicyEngine() {
         return policyEngine;
     }
@@ -143,6 +159,10 @@ public class RangerAuthContext implements 
RangerPolicyEngine {
     @Override
     public void preProcess(RangerAccessRequest request) {
 
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("==> RangerAuthContext.preProcess");
+               }
+
         RangerAccessResource resource = request.getResource();
         if (resource.getServiceDef() == null) {
                if (resource instanceof RangerMutableResource) {
@@ -151,7 +171,11 @@ public class RangerAuthContext implements 
RangerPolicyEngine {
                }
         }
            if (request instanceof RangerAccessRequestImpl) {
-                   ((RangerAccessRequestImpl) 
request).extractAndSetClientIPAddress(getUseForwardedIPAddress(), 
getTrustedProxyAddresses());
+                   RangerAccessRequestImpl reqImpl = (RangerAccessRequestImpl) 
request;
+                   
reqImpl.extractAndSetClientIPAddress(getUseForwardedIPAddress(), 
getTrustedProxyAddresses());
+                   if(rangerPluginContext != null) {
+                       
reqImpl.setClusterName(rangerPluginContext.getClusterName());
+                   }
            }
 
            
RangerAccessRequestUtil.setCurrentUserInContext(request.getContext(), 
request.getUser());
@@ -172,6 +196,10 @@ public class RangerAuthContext implements 
RangerPolicyEngine {
                 }
             }
         }
+
+               if (LOG.isDebugEnabled()) {
+                       LOG.debug("<== RangerAuthContext.preProcess");
+               }
     }
 
     @Override
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 ddf181c..df1fba5 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
@@ -51,6 +51,7 @@ import 
org.apache.ranger.plugin.policyengine.RangerAccessRequestImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.policyengine.RangerAccessResultProcessor;
+import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineImpl;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
@@ -73,10 +74,10 @@ public class RangerBasePlugin {
        private String                    serviceType;
        private String                    appId;
        private String                    serviceName;
-       private String                    clusterName;
        private PolicyRefresher           refresher;
        private RangerPolicyEngine        policyEngine;
        private RangerPolicyEngineOptions policyEngineOptions = new 
RangerPolicyEngineOptions();
+       private RangerPluginContext       rangerPluginContext;
        private RangerAuthContext         currentAuthContext;
        private RangerAuthContext         readOnlyAuthContext;
        private RangerAccessResultProcessor resultProcessor;
@@ -146,20 +147,12 @@ public class RangerBasePlugin {
                return serviceType;
        }
 
-       public String getClusterName() {
-               return clusterName;
-       }
-
        public RangerAuthContext createRangerAuthContext() {
                return new RangerAuthContext(readOnlyAuthContext);
        }
 
        public RangerAuthContext getCurrentRangerAuthContext() { return 
currentAuthContext; }
 
-       public void setClusterName(String clusterName) {
-               this.clusterName = clusterName;
-       }
-
        public RangerServiceDef getServiceDef() {
                RangerPolicyEngine policyEngine = this.policyEngine;
 
@@ -192,10 +185,6 @@ public class RangerBasePlugin {
                long   pollingIntervalMs = configuration.getLong(propertyPrefix 
+ ".policy.pollIntervalMs", 30 * 1000);
                String cacheDir          = configuration.get(propertyPrefix + 
".policy.cache.dir");
                serviceName = configuration.get(propertyPrefix + 
".service.name");
-               clusterName = 
RangerConfiguration.getInstance().get(propertyPrefix + ".access.cluster.name", 
"");
-               if(StringUtil.isEmpty(clusterName)){
-                       clusterName = 
RangerConfiguration.getInstance().get(propertyPrefix + ".ambari.cluster.name", 
"");
-               }
                useForwardedIPAddress = configuration.getBoolean(propertyPrefix 
+ ".use.x-forwarded-for.ipaddress", false);
                String trustedProxyAddressString = 
configuration.get(propertyPrefix + ".trusted.proxy.ipaddresses");
                trustedProxyAddresses = 
StringUtils.split(trustedProxyAddressString, 
RANGER_TRUSTED_PROXY_IPADDRESSES_SEPARATOR_CHAR);
@@ -322,8 +311,9 @@ public class RangerBasePlugin {
                                        if (LOG.isDebugEnabled()) {
                                                LOG.debug("policies are not 
null. Creating engine from policies");
                                        }
-                                       currentAuthContext = new 
RangerAuthContext();
-                                       newPolicyEngine = new 
RangerPolicyEngineImpl(appId, policies, policyEngineOptions);
+                                       rangerPluginContext = new 
RangerPluginContext(serviceType);
+                                       currentAuthContext = new 
RangerAuthContext(rangerPluginContext);
+                                       newPolicyEngine = new 
RangerPolicyEngineImpl(appId, policies, policyEngineOptions, 
rangerPluginContext);
                                } else {
                                        if (LOG.isDebugEnabled()) {
                                                LOG.debug("policy-deltas are 
not null");
@@ -342,8 +332,9 @@ public class RangerBasePlugin {
                                                                
LOG.debug("Failed to apply policyDeltas=" + 
Arrays.toString(policies.getPolicyDeltas().toArray()) + "), Creating engine 
from policies");
                                                                
LOG.debug("Creating new engine from servicePolicies:[" + servicePolicies + "]");
                                                        }
-                                                       currentAuthContext = 
new RangerAuthContext();
-                                                       newPolicyEngine = new 
RangerPolicyEngineImpl(appId, servicePolicies, policyEngineOptions);
+                                                       rangerPluginContext = 
new RangerPluginContext(serviceType);
+                                                       currentAuthContext = 
new RangerAuthContext(rangerPluginContext);
+                                                       newPolicyEngine = new 
RangerPolicyEngineImpl(appId, servicePolicies, policyEngineOptions, 
rangerPluginContext);
                                                }
                                        } else {
                                                if (LOG.isDebugEnabled()) {
@@ -649,7 +640,6 @@ public class RangerBasePlugin {
                        accessRequest.setClientType(request.getClientType());
                        accessRequest.setRequestData(request.getRequestData());
                        accessRequest.setSessionId(request.getSessionId());
-                       accessRequest.setClusterName(request.getClusterName());
 
                        // call isAccessAllowed() to determine if audit is 
enabled or not
                        RangerAccessResult accessResult = 
isAccessAllowed(accessRequest, null);
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyACLs.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyACLs.java
index 1abd209..33b26e0 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyACLs.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyACLs.java
@@ -91,7 +91,9 @@ public class TestPolicyACLs {
 
                for(PolicyACLsTests.TestCase testCase : testCases.testCases) {
                        RangerPolicyEngineOptions policyEngineOptions = new 
RangerPolicyEngineOptions();
-                       RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl("test-policy-acls", testCase.servicePolicies, 
policyEngineOptions);
+                       RangerPluginContext pluginContext = new 
RangerPluginContext("hive");
+                       pluginContext.setClusterName("cl1");
+                       RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl("test-policy-acls", testCase.servicePolicies, 
policyEngineOptions, pluginContext);
 
                        for(PolicyACLsTests.TestCase.OneTest oneTest : 
testCase.tests) {
                                if(oneTest == null) {
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyDb.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyDb.java
index 85ea679..f373339 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyDb.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyDb.java
@@ -115,8 +115,9 @@ public class TestPolicyDb {
                policyEngineOptions.cacheAuditResults       = false;
                policyEngineOptions.disableContextEnrichers = true;
                policyEngineOptions.disableCustomConditions = true;
-
-               RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl("test-policydb", testCase.servicePolicies, 
policyEngineOptions);
+               RangerPluginContext pluginContext = new 
RangerPluginContext("hive");
+               pluginContext.setClusterName("cl1");
+               RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl("test-policydb", testCase.servicePolicies, 
policyEngineOptions, pluginContext);
 
                for(TestData test : testCase.tests) {
                        boolean expected = test.result;
diff --git 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
index c3b31bb..cce5129 100644
--- 
a/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
+++ 
b/agents-common/src/test/java/org/apache/ranger/plugin/policyengine/TestPolicyEngine.java
@@ -435,7 +435,9 @@ public class TestPolicyEngine {
                                trustedProxyAddresses[i] = 
trustedProxyAddresses[i].trim();
                        }
                }
-               RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions);
+               RangerPluginContext pluginContext = new 
RangerPluginContext("hive");
+               pluginContext.setClusterName("cl1");
+               RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions,  
pluginContext);
 
                policyEngine.setUseForwardedIPAddress(useForwardedIPAddress);
                policyEngine.setTrustedProxyAddresses(trustedProxyAddresses);
@@ -443,7 +445,7 @@ public class TestPolicyEngine {
                policyEngineOptions.disableAccessEvaluationWithPolicyACLSummary 
= true;
                policyEngineOptions.optimizeTrieForRetrieval = false;
 
-               RangerPolicyEngine policyEngineForResourceAccessInfo = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions);
+               RangerPolicyEngine policyEngineForResourceAccessInfo = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions,  
pluginContext);
 
                
policyEngineForResourceAccessInfo.setUseForwardedIPAddress(useForwardedIPAddress);
                
policyEngineForResourceAccessInfo.setTrustedProxyAddresses(trustedProxyAddresses);
diff --git 
a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
 
b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
index d51f0fb..6461a24 100644
--- 
a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
+++ 
b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/AuthorizationSession.java
@@ -56,7 +56,6 @@ public class AuthorizationSession {
        String _column;
        String _columnFamily;
        String _remoteAddress;
-       String _clusterName;
 
        User _user;
        Set<String> _groups; // this exits to avoid having to get group for a 
user repeatedly.  It is kept in sync with _user;
@@ -92,11 +91,6 @@ public class AuthorizationSession {
                _access = anAccess;
                return this;
        }
-       
-       AuthorizationSession clusterName(String clusterName) {
-               _clusterName = clusterName;
-               return this;
-       }
 
        AuthorizationSession user(User aUser) {
                _user = aUser;
@@ -200,7 +194,6 @@ public class AuthorizationSession {
                request.setRequestData(_otherInformation);
                request.setClientIPAddress(_remoteAddress);
                request.setResourceMatchingScope(_resourceMatchingScope);
-               request.setClusterName(_clusterName);
                request.setAccessTime(new Date());
                
                _request = request;
@@ -345,7 +338,6 @@ public class AuthorizationSession {
                        .add(RangerHBaseResource.KEY_COLUMN, _column)
                        .add(RangerHBaseResource.KEY_COLUMN_FAMILY, 
_columnFamily)
                        .add("resource-matching-scope", _resourceMatchingScope)
-                       .add("clusterName", _clusterName)
                        .toString();
        }
 
@@ -361,8 +353,7 @@ public class AuthorizationSession {
                String format = "Access[%s] by user[%s] belonging to groups[%s] 
to table[%s] for column-family[%s], column[%s] triggered by operation[%s], 
otherInformation[%s]";
                String user = _userUtils.getUserAsString();
                String message = String.format(format, 
getPrintableValue(_access), getPrintableValue(user), _groups, 
getPrintableValue(_table),
-                               getPrintableValue(_columnFamily), 
getPrintableValue(_column), getPrintableValue(_operation), 
getPrintableValue(_otherInformation),
-                               getPrintableValue(_clusterName));
+                               getPrintableValue(_columnFamily), 
getPrintableValue(_column), getPrintableValue(_operation), 
getPrintableValue(_otherInformation));
                return message;
        }
        
diff --git 
a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
 
b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
index 449d77d..5729eb2 100644
--- 
a/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
+++ 
b/hbase-agent/src/main/java/org/apache/ranger/authorization/hbase/RangerAuthorizationCoprocessor.java
@@ -275,12 +275,11 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                final List<AuthzAuditEvent> _familyLevelAccessEvents;
                final AuthzAuditEvent _accessDeniedEvent;
                final String _denialReason;
-               final RangerAuthorizationFilter _filter;
-               final String _clusterName;
+               final RangerAuthorizationFilter _filter;;
 
                ColumnFamilyAccessResult(boolean everythingIsAccessible, 
boolean somethingIsAccessible,
                                                                 
List<AuthzAuditEvent> accessAllowedEvents, List<AuthzAuditEvent> 
familyLevelAccessEvents, AuthzAuditEvent accessDeniedEvent, String denialReason,
-                                                                
RangerAuthorizationFilter filter, String clusterName) {
+                                                                
RangerAuthorizationFilter filter) {
                        _everythingIsAccessible = everythingIsAccessible;
                        _somethingIsAccessible = somethingIsAccessible;
                        // WARNING: we are just holding on to reference of the 
collection.  Potentially risky optimization
@@ -290,7 +289,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        _denialReason = denialReason;
                        // cached values of access results
                        _filter = filter;
-                       _clusterName = clusterName;
                }
                
                @Override
@@ -303,7 +301,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                                        .add("accessDeniedEvent", 
_accessDeniedEvent)
                                        .add("denialReason", _denialReason)
                                        .add("filter", _filter)
-                                       .add("clusterName", _clusterName)
                                        .toString();
                        
                }
@@ -328,13 +325,12 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        throw new AccessDeniedException("Insufficient 
permissions for operation '" + operation + "',action: " + action);
                }
                String table = Bytes.toString(tableBytes);
-               String clusterName = hbasePlugin.getClusterName();
 
                final String messageTemplate = "evaluateAccess: exiting: 
user[%s], Operation[%s], access[%s], families[%s], verdict[%s]";
                ColumnFamilyAccessResult result;
                if (canSkipAccessCheck(user, operation, access, table) || 
canSkipAccessCheck(user, operation, access, env)) {
                        LOG.debug("evaluateAccess: exiting: 
isKnownAccessPattern returned true: access allowed, not audited");
-                       result = new ColumnFamilyAccessResult(true, true, null, 
null, null, null, null, null);
+                       result = new ColumnFamilyAccessResult(true, true, null, 
null, null, null, null);
                        if (LOG.isDebugEnabled()) {
                                Map<String, Set<String>> families = 
getColumnFamilies(familyMap);
                                String message = String.format(messageTemplate, 
userName, operation, access, families.toString(), result.toString());
@@ -351,8 +347,7 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                                .auditHandler(auditHandler)
                                .user(user)
                                .access(access)
-                               .table(table)
-                               .clusterName(clusterName);
+                               .table(table);
                Map<String, Set<String>> families = 
getColumnFamilies(familyMap);
                if (LOG.isDebugEnabled()) {
                        LOG.debug("evaluateAccess: families to process: " + 
families.toString());
@@ -374,7 +369,7 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        // if authorized then pass captured events as access 
allowed set else as access denied set.
                        result = new ColumnFamilyAccessResult(authorized, 
authorized,
                                                authorized ? 
Collections.singletonList(event) : null,
-                                               null, authorized ? null : 
event, reason, null, clusterName);
+                                               null, authorized ? null : 
event, reason, null);
                        if (LOG.isDebugEnabled()) {
                                String message = String.format(messageTemplate, 
userName, operation, access, families.toString(), result.toString());
                                LOG.debug(message);
@@ -520,7 +515,7 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                }
                // Cache of auth results are encapsulated the in the filter. 
Not every caller of the function uses it - only preGet and preOpt will.
                RangerAuthorizationFilter filter = new 
RangerAuthorizationFilter(session, familesAccessAllowed, familesAccessDenied, 
familesAccessIndeterminate, columnsAccessAllowed);
-               result = new ColumnFamilyAccessResult(everythingIsAccessible, 
somethingIsAccessible, authorizedEvents, familyLevelAccessEvents, deniedEvent, 
denialReason, filter, clusterName);
+               result = new ColumnFamilyAccessResult(everythingIsAccessible, 
somethingIsAccessible, authorizedEvents, familyLevelAccessEvents, deniedEvent, 
denialReason, filter);
                if (LOG.isDebugEnabled()) {
                        String message = String.format(messageTemplate, 
userName, operation, access, families.toString(), result.toString());
                        LOG.debug(message);
@@ -626,7 +621,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        return;
                }
 
-               String clusterName = hbasePlugin.getClusterName();
                
                HbaseAuditHandler auditHandler = _factory.getAuditHandler();
                AuthorizationSession session = new 
AuthorizationSession(hbasePlugin)
@@ -639,7 +633,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        .table(table)
                        .columnFamily(columnFamily)
                        .column(column)
-                       .clusterName(clusterName)
                        .buildRequest()
                        .authorize();
                
@@ -673,7 +666,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
        
        boolean canSkipAccessCheck(User user, final String operation, String 
access, final RegionCoprocessorEnvironment regionServerEnv) throws 
AccessDeniedException {
 
-               String clusterName = hbasePlugin.getClusterName();
                // read access to metadata tables is always allowed and isn't 
audited.
                if (isAccessForMetaTables(regionServerEnv) && 
_authUtils.isReadAccess(access)) {
                        LOG.debug("isKnownAccessPattern: exiting: Read access 
for metadata tables allowed, not audited!");
@@ -687,7 +679,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                                .remoteAddress(getRemoteAddress())
                                .user(user)
                                .access(createAccess)
-                               .clusterName(clusterName)
                                .buildRequest()
                                .authorize();
                        if (session.isAuthorized()) {
@@ -1179,7 +1170,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        LOG.debug(String.format("==> 
postGetTableDescriptors(count(tableNamesList)=%s, count(descriptors)=%s, 
regex=%s)", tableNamesList == null ? 0 : tableNamesList.size(),
                                        descriptors == null ? 0 : 
descriptors.size(), regex));
                }
-               String clusterName = hbasePlugin.getClusterName();
 
                if (CollectionUtils.isNotEmpty(descriptors)) {
                        // Retains only those which passes authorization checks
@@ -1192,8 +1182,7 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                                .remoteAddress(getRemoteAddress())
                                .auditHandler(auditHandler)
                                .user(user)
-                               .access(access)
-                               .clusterName(clusterName);
+                               .access(access);
        
                        Iterator<TableDescriptor> itr = descriptors.iterator();
                        while (itr.hasNext()) {
@@ -1248,9 +1237,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
 
                                if(plugin != null) {
 
-                                       String clusterName = 
plugin.getClusterName();
-                                       grData.setClusterName(clusterName);
-                                       
                                        RangerAccessResultProcessor 
auditHandler = new RangerDefaultAuditHandler();
 
                                        plugin.grantAccess(grData, 
auditHandler);
@@ -1290,9 +1276,7 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                                RangerHBasePlugin plugin = hbasePlugin;
 
                                if(plugin != null) {
-                                       String clusterName = 
plugin.getClusterName();
-                                       grData.setClusterName(clusterName);
-                                       
+
                                        RangerAccessResultProcessor 
auditHandler = new RangerDefaultAuditHandler();
 
                                        plugin.revokeAccess(grData, 
auditHandler);
@@ -1344,7 +1328,6 @@ public class RangerAuthorizationCoprocessor implements 
AccessControlService.Inte
                        rangerAccessrequest.setAction(operation);
                        
rangerAccessrequest.setClientIPAddress(getRemoteAddress());
                        
rangerAccessrequest.setResourceMatchingScope(RangerAccessRequest.ResourceMatchingScope.SELF);
-                       
rangerAccessrequest.setClusterName(hbasePlugin.getClusterName());
                        List<UserPermission> perms = null;
                        if (request.getType() == 
AccessControlProtos.Permission.Type.Table) {
                                final TableName table = request.hasTableName() 
? ProtobufUtil.toTableName(request.getTableName()) : null;
diff --git 
a/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/TestPolicyEngine.java
 
b/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/TestPolicyEngine.java
index 6efe2e3..6dd81fa 100644
--- 
a/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/TestPolicyEngine.java
+++ 
b/hbase-agent/src/test/java/org/apache/ranger/authorization/hbase/TestPolicyEngine.java
@@ -37,6 +37,7 @@ import 
org.apache.ranger.plugin.policyengine.RangerAccessResourceImpl;
 import org.apache.ranger.plugin.policyengine.RangerAccessResult;
 import org.apache.ranger.plugin.policyengine.RangerAccessResource;
 import org.apache.ranger.plugin.policyengine.RangerAccessResultProcessor;
+import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngine;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineImpl;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineOptions;
@@ -102,8 +103,9 @@ public class TestPolicyEngine {
                        servicePolicies.setPolicies(testCase.policies);
 
                        RangerPolicyEngineOptions policyEngineOptions = new 
RangerPolicyEngineOptions();
-
-                       RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions);
+                       RangerPluginContext pluginContext = new 
RangerPluginContext("hive");
+                       pluginContext.setClusterName("cl1");
+                       RangerPolicyEngine policyEngine = new 
RangerPolicyEngineImpl(testName, servicePolicies, policyEngineOptions, 
pluginContext);
 
                        RangerAccessResultProcessor auditHandler = new 
RangerDefaultAuditHandler();
 
diff --git 
a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
 
b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
index f204c15..7b2882c 100644
--- 
a/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
+++ 
b/hdfs-agent/src/main/java/org/apache/ranger/authorization/hadoop/RangerHdfsAuthorizer.java
@@ -520,7 +520,6 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                private AuthzStatus isAccessAllowedForTraversal(INode inode, 
INodeAttributes inodeAttribs, String path, String user, Set<String> groups, 
RangerHdfsPlugin plugin, RangerHdfsAuditHandler auditHandler, boolean 
skipAuditOnAllow) {
                        final AuthzStatus ret;
                        String pathOwner = inodeAttribs != null ? 
inodeAttribs.getUserName() : null;
-                       String clusterName = plugin.getClusterName();
                        FsAction access = FsAction.EXECUTE;
 
 
@@ -536,7 +535,7 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                                LOG.debug("==> 
RangerAccessControlEnforcer.isAccessAllowedForTraversal(" + path + ", " + 
access + ", " + user + ", " + skipAuditOnAllow + ")");
                        }
 
-                       RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(inode, path, pathOwner, access, EXECUTE_ACCCESS_TYPE, 
user, groups, clusterName);
+                       RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(inode, path, pathOwner, access, EXECUTE_ACCCESS_TYPE, 
user, groups);
 
                        RangerAccessResult result = 
plugin.isAccessAllowed(request, null);
 
@@ -639,7 +638,6 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                private AuthzStatus isAccessAllowed(INode inode, 
INodeAttributes inodeAttribs, String path, FsAction access, String user, 
Set<String> groups, RangerHdfsPlugin plugin, RangerHdfsAuditHandler 
auditHandler) {
                        AuthzStatus ret       = null;
                        String      pathOwner = inodeAttribs != null ? 
inodeAttribs.getUserName() : null;
-                       String          clusterName = plugin.getClusterName();
 
                        if(pathOwner == null && inode != null) {
                                pathOwner = inode.getUserName();
@@ -662,7 +660,7 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                        }
 
                        for(String accessType : accessTypes) {
-                               RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(inode, path, pathOwner, access, accessType, user, 
groups, clusterName);
+                               RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(inode, path, pathOwner, access, accessType, user, 
groups);
 
                                RangerAccessResult result = 
plugin.isAccessAllowed(request, auditHandler);
 
@@ -693,7 +691,6 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                private AuthzStatus isAccessAllowedForHierarchy(INode inode, 
INodeAttributes inodeAttribs, String path, FsAction access, String user, 
Set<String> groups, RangerHdfsPlugin plugin) {
                        AuthzStatus ret   = null;
                        String  pathOwner = inodeAttribs != null ? 
inodeAttribs.getUserName() : null;
-                       String          clusterName = plugin.getClusterName();
 
                        if (pathOwner == null && inode != null) {
                                pathOwner = inode.getUserName();
@@ -724,7 +721,7 @@ public class RangerHdfsAuthorizer extends 
INodeAttributeProvider {
                                subDirPath = subDirPath + 
RangerHdfsPlugin.getRandomizedWildcardPathName();
 
                                for (String accessType : accessTypes) {
-                                       RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(null, subDirPath, pathOwner, access, accessType, user, 
groups, clusterName);
+                                       RangerHdfsAccessRequest request = new 
RangerHdfsAccessRequest(null, subDirPath, pathOwner, access, accessType, user, 
groups);
 
                                        RangerAccessResult result = 
plugin.isAccessAllowed(request, null);
 
@@ -821,7 +818,7 @@ class RangerHdfsResource extends RangerAccessResourceImpl {
 
 class RangerHdfsAccessRequest extends RangerAccessRequestImpl {
 
-       public RangerHdfsAccessRequest(INode inode, String path, String 
pathOwner, FsAction access, String accessType, String user, Set<String> groups, 
String clusterName) {
+       public RangerHdfsAccessRequest(INode inode, String path, String 
pathOwner, FsAction access, String accessType, String user, Set<String> groups) 
{
                super.setResource(new RangerHdfsResource(path, pathOwner));
                super.setAccessType(accessType);
                super.setUser(user);
@@ -829,7 +826,6 @@ class RangerHdfsAccessRequest extends 
RangerAccessRequestImpl {
                super.setAccessTime(new Date());
                super.setClientIPAddress(getRemoteIp());
                super.setAction(access.toString());
-               super.setClusterName(clusterName);
 
                if (inode != null) {
                        buildRequestContext(inode);
diff --git 
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAccessRequest.java
 
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAccessRequest.java
index df379c3..ce5cf64 100644
--- 
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAccessRequest.java
+++ 
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAccessRequest.java
@@ -42,8 +42,7 @@ public class RangerHiveAccessRequest extends 
RangerAccessRequestImpl {
                                                                   String       
           hiveOpTypeName,
                                                                   
HiveAccessType          accessType,
                                                                   
HiveAuthzContext        context,
-                                                                  
HiveAuthzSessionContext sessionContext,
-                                                                  String 
clusterName) {
+                                                                  
HiveAuthzSessionContext sessionContext) {
                this.setResource(resource);
                this.setUser(user);
                this.setUserGroups(userGroups);
@@ -62,7 +61,6 @@ public class RangerHiveAccessRequest extends 
RangerAccessRequestImpl {
                        this.setSessionId(sessionContext.getSessionString());
                }
                
-               this.setClusterName(clusterName);
        }
 
        public RangerHiveAccessRequest(RangerHiveResource      resource,
@@ -71,13 +69,12 @@ public class RangerHiveAccessRequest extends 
RangerAccessRequestImpl {
                           HiveOperationType       hiveOpType,
                           HiveAccessType          accessType,
                           HiveAuthzContext        context,
-                          HiveAuthzSessionContext sessionContext,
-                          String clusterName) {
-               this(resource, user, userGroups, hiveOpType.name(), accessType, 
context, sessionContext, clusterName);
+                          HiveAuthzSessionContext sessionContext) {
+               this(resource, user, userGroups, hiveOpType.name(), accessType, 
context, sessionContext);
        }
 
-       public RangerHiveAccessRequest(RangerHiveResource resource, String 
user, Set<String> groups, HiveAuthzContext context, HiveAuthzSessionContext 
sessionContext, String clusterName) {
-               this(resource, user, groups, "METADATA OPERATION", 
HiveAccessType.USE, context, sessionContext, clusterName);
+       public RangerHiveAccessRequest(RangerHiveResource resource, String 
user, Set<String> groups, HiveAuthzContext context, HiveAuthzSessionContext 
sessionContext) {
+               this(resource, user, groups, "METADATA OPERATION", 
HiveAccessType.USE, context, sessionContext);
        }
 
        public HiveAccessType getHiveAccessType() {
diff --git 
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
 
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
index 625b7bb..de74cc7 100644
--- 
a/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
+++ 
b/hive-agent/src/main/java/org/apache/ranger/authorization/hive/authorizer/RangerHiveAuthorizer.java
@@ -161,7 +161,6 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                try {
                        RangerHiveResource resource = 
getHiveResource(HiveOperationType.GRANT_PRIVILEGE, hivePrivObject);
                        GrantRevokeRequest request  = 
createGrantRevokeData(resource, hivePrincipals, hivePrivileges, 
grantorPrincipal, grantOption);
-                       request.setClusterName(hivePlugin.getClusterName());
 
                        LOG.info("grantPrivileges(): " + request);
                        if(LOG.isDebugEnabled()) {
@@ -202,7 +201,6 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                try {
                        RangerHiveResource resource = 
getHiveResource(HiveOperationType.REVOKE_PRIVILEGE, hivePrivObject);
                        GrantRevokeRequest request  = 
createGrantRevokeData(resource, hivePrincipals, hivePrivileges, 
grantorPrincipal, grantOption);
-                       request.setClusterName(hivePlugin.getClusterName());
 
                        LOG.info("revokePrivileges(): " + request);
                        if(LOG.isDebugEnabled()) {
@@ -246,7 +244,6 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                        HiveAuthzSessionContext sessionContext = 
getHiveAuthzSessionContext();
                        String                  user           = 
ugi.getShortUserName();
                        Set<String>             groups         = 
Sets.newHashSet(ugi.getGroupNames());
-                       String clusterName = hivePlugin.getClusterName();
 
                        if(LOG.isDebugEnabled()) {
                                LOG.debug(toString(hiveOpType, inputHObjs, 
outputHObjs, context, sessionContext));
@@ -292,8 +289,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                        }
 
                                        
if(!existsByResourceAndAccessType(requests, resource, accessType)) {
-                                               RangerHiveAccessRequest request 
= new RangerHiveAccessRequest(resource, user, groups, hiveOpType, accessType, 
context, sessionContext, clusterName);
-
+                                               RangerHiveAccessRequest request 
= new RangerHiveAccessRequest(resource, user, groups, hiveOpType, accessType, 
context, sessionContext);
                                                requests.add(request);
                                        }
                                }
@@ -301,7 +297,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                // this should happen only for SHOWDATABASES
                                if (hiveOpType == 
HiveOperationType.SHOWDATABASES) {
                                        RangerHiveResource resource = new 
RangerHiveResource(HiveObjectType.DATABASE, null);
-                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.USE, context, sessionContext, clusterName);
+                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.USE, context, sessionContext);
                                        requests.add(request);
                                } else if ( hiveOpType ==  
HiveOperationType.REPLDUMP) {
                                        // This happens when REPL DUMP command 
with null inputHObjs is sent in checkPrivileges()
@@ -317,7 +313,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                                resource = new 
RangerHiveResource(HiveObjectType.DATABASE, dbName, null);
                                        }
                                        //
-                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.REPLADMIN, context, sessionContext, clusterName);
+                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.REPLADMIN, context, sessionContext);
                                        requests.add(request);
                                } else {
                                        if (LOG.isDebugEnabled()) {
@@ -354,7 +350,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                        }
 
                                        
if(!existsByResourceAndAccessType(requests, resource, accessType)) {
-                                               RangerHiveAccessRequest request 
= new RangerHiveAccessRequest(resource, user, groups, hiveOpType, accessType, 
context, sessionContext, clusterName);
+                                               RangerHiveAccessRequest request 
= new RangerHiveAccessRequest(resource, user, groups, hiveOpType, accessType, 
context, sessionContext);
 
                                                requests.add(request);
                                        }
@@ -373,7 +369,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                        } else {
                                                resource = new 
RangerHiveResource(HiveObjectType.DATABASE, dbName, null);
                                        }
-                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.REPLADMIN, context, sessionContext, clusterName);
+                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, hiveOpType.name(), 
HiveAccessType.REPLADMIN, context, sessionContext);
                                        requests.add(request);
                                }
                        }
@@ -554,7 +550,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                                if (resource == null) {
                                        LOG.error("filterListCmdObjects: 
RangerHiveResource returned by createHiveResource is null");
                                } else {
-                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, context, sessionContext, 
hivePlugin.getClusterName());
+                                       RangerHiveAccessRequest request = new 
RangerHiveAccessRequest(resource, user, groups, context, sessionContext);
                                        RangerAccessResult result = 
hivePlugin.isAccessAllowed(request);
                                        if (result == null) {
                                                
LOG.error("filterListCmdObjects: Internal error: null RangerAccessResult object 
received back from isAccessAllowed()!");
@@ -719,9 +715,8 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                        String                  user           = 
ugi.getShortUserName();
                        Set<String>             groups         = 
Sets.newHashSet(ugi.getGroupNames());
                        HiveObjectType          objectType     = 
HiveObjectType.TABLE;
-                       String                                  clusterName    
= hivePlugin.getClusterName();
                        RangerHiveResource      resource       = new 
RangerHiveResource(objectType, databaseName, tableOrViewName);
-                       RangerHiveAccessRequest request        = new 
RangerHiveAccessRequest(resource, user, groups, objectType.name(), 
HiveAccessType.SELECT, context, sessionContext, clusterName);
+                       RangerHiveAccessRequest request        = new 
RangerHiveAccessRequest(resource, user, groups, objectType.name(), 
HiveAccessType.SELECT, context, sessionContext);
 
                        RangerAccessResult result = 
hivePlugin.evalRowFilterPolicies(request, auditHandler);
 
@@ -742,7 +737,6 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
        private boolean 
addCellValueTransformerAndCheckIfTransformed(HiveAuthzContext context, String 
databaseName, String tableOrViewName, String columnName, List<String> 
columnTransformers) throws SemanticException {
                UserGroupInformation ugi = getCurrentUserGroupInfo();
 
-               String clusterName = hivePlugin.getClusterName();
                if(ugi == null) {
                        throw new SemanticException("user information not 
available");
                }
@@ -762,7 +756,7 @@ public class RangerHiveAuthorizer extends 
RangerHiveAuthorizerBase {
                        Set<String>             groups         = 
Sets.newHashSet(ugi.getGroupNames());
                        HiveObjectType          objectType     = 
HiveObjectType.COLUMN;
                        RangerHiveResource      resource       = new 
RangerHiveResource(objectType, databaseName, tableOrViewName, columnName);
-                       RangerHiveAccessRequest request        = new 
RangerHiveAccessRequest(resource, user, groups, objectType.name(), 
HiveAccessType.SELECT, context, sessionContext, clusterName);
+                       RangerHiveAccessRequest request        = new 
RangerHiveAccessRequest(resource, user, groups, objectType.name(), 
HiveAccessType.SELECT, context, sessionContext);
 
                        RangerAccessResult result = 
hivePlugin.evalDataMaskPolicies(request, auditHandler);
 
diff --git 
a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/KnoxRangerPlugin.java
 
b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/KnoxRangerPlugin.java
index 814aedd..94a47b3 100644
--- 
a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/KnoxRangerPlugin.java
+++ 
b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/KnoxRangerPlugin.java
@@ -56,7 +56,6 @@ public class KnoxRangerPlugin extends RangerBasePlugin {
                String _user;
                Set<String> _groups;
                String _clientIp;
-               String _clusterName;
                String _remoteIp;
                List<String> _forwardedAddresses;
                
@@ -80,10 +79,6 @@ public class KnoxRangerPlugin extends RangerBasePlugin {
                        _clientIp = clientIp;
                        return this;
                }
-               RequestBuilder clusterName(String clusterName) {
-                       _clusterName = clusterName;
-                       return this;
-               }
                RequestBuilder remoteIp(String remoteIp) {
                        _remoteIp = remoteIp;
                        return this;
@@ -111,7 +106,6 @@ public class KnoxRangerPlugin extends RangerBasePlugin {
                        request.setUser(_user);
                        request.setUserGroups(_groups);
                        request.setResource(resource);
-                       request.setClusterName(_clusterName);
                        request.setRemoteIPAddress(_remoteIp);
                        request.setForwardedAddresses(_forwardedAddresses);
                        return request;
diff --git 
a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
 
b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
index e75f314..62363ab 100644
--- 
a/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
+++ 
b/knox-agent/src/main/java/org/apache/ranger/authorization/knox/RangerPDPKnoxFilter.java
@@ -134,15 +134,13 @@ public class RangerPDPKnoxFilter implements Filter {
                }
 
                String clientIp = request.getRemoteAddr();
-               String clusterName = plugin.getClusterName();
                List<String> forwardedAddresses = 
getForwardedAddresses(request);
 
                if (LOG.isDebugEnabled()) {
                        LOG.debug("Checking access primaryUser: " + primaryUser
                                        + ", impersonatedUser: " + 
impersonatedUser
                                        + ", effectiveUser: " + user + ", 
groups: " + groups
-                                       + ", clientIp: " + clientIp + ", 
clusterName: " + clusterName
-                           + ", remoteIp: " + clientIp + ", 
forwardedAddresses: " + forwardedAddresses);
+                                       + ", clientIp: " + clientIp + ", 
remoteIp: " + clientIp + ", forwardedAddresses: " + forwardedAddresses);
                }
 
                RangerAccessRequest accessRequest = new RequestBuilder()
@@ -151,7 +149,6 @@ public class RangerPDPKnoxFilter implements Filter {
                        .user(user)
                        .groups(groups)
                        .clientIp(clientIp)
-                       .clusterName(clusterName)
                        .remoteIp(clientIp)
                        .forwardedAddresses(forwardedAddresses)
                        .build();
diff --git 
a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
 
b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
index b52a22e..c6008ba 100644
--- 
a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
+++ 
b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
@@ -111,7 +111,6 @@ public class RangerAtlasAuthorizer implements 
AtlasAuthorizer {
             rangerRequest.setClientIPAddress(request.getClientIPAddress());
             rangerRequest.setAccessTime(request.getAccessTime());
             rangerRequest.setAction(action);
-            rangerRequest.setClusterName(getClusterName());
 
             ret = checkAccess(rangerRequest);
         } finally {
@@ -183,7 +182,6 @@ public class RangerAtlasAuthorizer implements 
AtlasAuthorizer {
             RangerAccessRequestImpl rangerRequest = new 
RangerAccessRequestImpl(rangerResource, action, request.getUser(), 
request.getUserGroups());
             rangerRequest.setClientIPAddress(request.getClientIPAddress());
             rangerRequest.setAccessTime(request.getAccessTime());
-            rangerRequest.setClusterName(getClusterName());
             rangerRequest.setAction(action);
 
 
@@ -229,7 +227,6 @@ public class RangerAtlasAuthorizer implements 
AtlasAuthorizer {
             RangerAccessRequestImpl rangerRequest = new 
RangerAccessRequestImpl(rangerResource, action, request.getUser(), 
request.getUserGroups());
             rangerRequest.setClientIPAddress(request.getClientIPAddress());
             rangerRequest.setAccessTime(request.getAccessTime());
-            rangerRequest.setClusterName(getClusterName());
             rangerRequest.setAction(action);
 
 
@@ -314,12 +311,6 @@ public class RangerAtlasAuthorizer implements 
AtlasAuthorizer {
         }
     }
 
-    private String getClusterName() {
-        RangerBasePlugin plugin = atlasPlugin;
-
-        return plugin != null ? plugin.getClusterName() : null;
-    }
-
     private RangerServiceDef getServiceDef() {
         RangerBasePlugin plugin = atlasPlugin;
 
@@ -351,7 +342,6 @@ public class RangerAtlasAuthorizer implements 
AtlasAuthorizer {
             rangerRequest.setUserGroups(request.getUserGroups());
             rangerRequest.setClientIPAddress(request.getClientIPAddress());
             rangerRequest.setAccessTime(request.getAccessTime());
-            rangerRequest.setClusterName(getClusterName());
             rangerRequest.setResource(rangerResource);
 
             if (StringUtils.isNotEmpty(classification)) {
diff --git 
a/plugin-elasticsearch/src/main/java/org/apache/ranger/authorization/elasticsearch/authorizer/RangerElasticsearchAuthorizer.java
 
b/plugin-elasticsearch/src/main/java/org/apache/ranger/authorization/elasticsearch/authorizer/RangerElasticsearchAuthorizer.java
index a6b024f..31de631 100644
--- 
a/plugin-elasticsearch/src/main/java/org/apache/ranger/authorization/elasticsearch/authorizer/RangerElasticsearchAuthorizer.java
+++ 
b/plugin-elasticsearch/src/main/java/org/apache/ranger/authorization/elasticsearch/authorizer/RangerElasticsearchAuthorizer.java
@@ -89,9 +89,8 @@ public class RangerElasticsearchAuthorizer implements 
RangerElasticsearchAccessC
                if (elasticsearchPlugin != null) {
 
                        String privilege = 
IndexPrivilegeUtils.getPrivilegeFromAction(action);
-                       String clusterName = 
elasticsearchPlugin.getClusterName();
                        RangerElasticsearchAccessRequest request = new 
RangerElasticsearchAccessRequest(user, groups, index,
-                                       privilege, clusterName, 
clientIPAddress);
+                                       privilege, clientIPAddress);
 
                        RangerAccessResult result = 
elasticsearchPlugin.isAccessAllowed(request);
                        if (result != null && result.getIsAllowed()) {
@@ -133,7 +132,7 @@ class RangerElasticsearchResource extends 
RangerAccessResourceImpl {
 
 class RangerElasticsearchAccessRequest extends RangerAccessRequestImpl {
        public RangerElasticsearchAccessRequest(String user, List<String> 
groups, String index, String privilege,
-                       String clusterName, String clientIPAddress) {
+                       String clientIPAddress) {
                super.setUser(user);
                if (CollectionUtils.isNotEmpty(groups)) {
                        super.setUserGroups(Sets.newHashSet(groups));
@@ -141,7 +140,6 @@ class RangerElasticsearchAccessRequest extends 
RangerAccessRequestImpl {
                super.setResource(new RangerElasticsearchResource(index));
                super.setAccessType(privilege);
                super.setAction(privilege);
-               super.setClusterName(clusterName);
                super.setClientIPAddress(clientIPAddress);
                super.setAccessTime(new Date());
        }
diff --git 
a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
 
b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
index 8a661d8..43dd35f 100644
--- 
a/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
+++ 
b/plugin-kafka/src/main/java/org/apache/ranger/authorization/kafka/authorizer/RangerKafkaAuthorizer.java
@@ -183,7 +183,6 @@ public class RangerKafkaAuthorizer implements Authorizer {
                        validationStr += "Unsupported access type. operation=" 
+ operation;
                }
                String action = accessType;
-               String clusterName = rangerPlugin.getClusterName();
 
                RangerAccessRequestImpl rangerRequest = new 
RangerAccessRequestImpl();
                rangerRequest.setUser(userName);
@@ -196,7 +195,6 @@ public class RangerKafkaAuthorizer implements Authorizer {
                rangerRequest.setAccessType(accessType);
                rangerRequest.setAction(action);
                rangerRequest.setRequestData(resource.name());
-               rangerRequest.setClusterName(clusterName);
 
                if (resource.resourceType().equals(Topic$.MODULE$)) {
                        rangerResource.setValue(KEY_TOPIC, resource.name());
diff --git 
a/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
 
b/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
index 07921a9..aab4639 100755
--- 
a/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
+++ 
b/plugin-kms/src/main/java/org/apache/ranger/authorization/kms/authorizer/RangerKmsAuthorizer.java
@@ -217,10 +217,9 @@ public class RangerKmsAuthorizer implements Runnable, 
KeyACLs {
                    if(!ret){
                        LOG.debug("Operation "+rangerAccessType+" blocked in 
the blacklist for user "+ugi.getUserName());
                    }
-                   String clusterName = kmsPlugin.getClusterName();
                
                        if(plugin != null && ret) {                             
-                               RangerKMSAccessRequest request = new 
RangerKMSAccessRequest("", rangerAccessType, ugi, clientIp, clusterName);
+                               RangerKMSAccessRequest request = new 
RangerKMSAccessRequest("", rangerAccessType, ugi, clientIp);
                                RangerAccessResult result = 
plugin.isAccessAllowed(request);
                                ret = result != null && result.getIsAllowed();
                        }
@@ -244,10 +243,9 @@ public class RangerKmsAuthorizer implements Runnable, 
KeyACLs {
                    if(!ret){
                        LOG.debug("Operation "+rangerAccessType+" blocked in 
the blacklist for user "+ugi.getUserName());
                    }
-                   String clusterName = kmsPlugin.getClusterName();
                
                        if(plugin != null && ret) {                             
-                               RangerKMSAccessRequest request = new 
RangerKMSAccessRequest(keyName, rangerAccessType, ugi, clientIp, clusterName);
+                               RangerKMSAccessRequest request = new 
RangerKMSAccessRequest(keyName, rangerAccessType, ugi, clientIp);
                                RangerAccessResult result = 
plugin.isAccessAllowed(request);
                                ret = result != null && result.getIsAllowed();
                        }
@@ -363,7 +361,7 @@ public class RangerKmsAuthorizer implements Runnable, 
KeyACLs {
        }
 
        class RangerKMSAccessRequest extends RangerAccessRequestImpl {
-               public RangerKMSAccessRequest(String keyName, String 
accessType, UserGroupInformation ugi, String clientIp, String clusterName) {
+               public RangerKMSAccessRequest(String keyName, String 
accessType, UserGroupInformation ugi, String clientIp) {
                        super.setResource(new RangerKMSResource(keyName));
                        super.setAccessType(accessType);
                        super.setUser(ugi.getShortUserName());
@@ -371,6 +369,5 @@ public class RangerKmsAuthorizer implements Runnable, 
KeyACLs {
                        super.setAccessTime(new Date());
                        super.setClientIPAddress(clientIp);                     
                        super.setAction(accessType);
-                       super.setClusterName(clusterName);
                }
        }
diff --git 
a/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
 
b/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
index a745b87..ed935f8 100644
--- 
a/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
+++ 
b/plugin-kylin/src/main/java/org/apache/ranger/authorization/kylin/authorizer/RangerKylinAuthorizer.java
@@ -101,9 +101,8 @@ public class RangerKylinAuthorizer extends 
ExternalAclProvider {
                        }
 
                        String accessType = 
ExternalAclProvider.transformPermission(permission);
-                       String clusterName = kylinPlugin.getClusterName();
                        RangerKylinAccessRequest request = new 
RangerKylinAccessRequest(projectName, user, groups, accessType,
-                                       clusterName, clientIPAddress);
+                                       clientIPAddress);
 
                        RangerAccessResult result = 
kylinPlugin.isAccessAllowed(request);
                        if (result != null && result.getIsAllowed()) {
@@ -169,7 +168,7 @@ class RangerKylinResource extends RangerAccessResourceImpl {
 
 class RangerKylinAccessRequest extends RangerAccessRequestImpl {
        public RangerKylinAccessRequest(String projectName, String user, 
List<String> groups, String accessType,
-                       String clusterName, String clientIPAddress) {
+                       String clientIPAddress) {
                super.setResource(new RangerKylinResource(projectName));
                super.setAccessType(accessType);
                super.setUser(user);
@@ -177,6 +176,5 @@ class RangerKylinAccessRequest extends 
RangerAccessRequestImpl {
                super.setAccessTime(new Date());
                super.setClientIPAddress(clientIPAddress);
                super.setAction(accessType);
-               super.setClusterName(clusterName);
        }
 }
\ No newline at end of file
diff --git 
a/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
 
b/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
index 6c0201d..f87e531 100644
--- 
a/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
+++ 
b/plugin-solr/src/main/java/org/apache/ranger/authorization/solr/authorizer/RangerSolrAuthorizer.java
@@ -200,13 +200,12 @@ public class RangerSolrAuthorizer implements 
AuthorizationPlugin {
                        List<RangerAccessRequestImpl> rangerRequests = new 
ArrayList<RangerAccessRequestImpl>();
                        List<CollectionRequest>   collectionRequests = 
context.getCollectionRequests();
 
-                       String clusterName = solrPlugin.getClusterName();
 
                        if (CollectionUtils.isEmpty(collectionRequests)) {
                                // if Collection is empty we set the collection 
to *. This happens when LIST is done.
                                RangerAccessRequestImpl requestForCollection = 
createRequest(
                                                userName, userGroups, ip, 
eventTime, context,
-                                               null, clusterName);
+                                               null);
                                if (requestForCollection != null) {
                                        
rangerRequests.add(requestForCollection);
                                }
@@ -219,7 +218,7 @@ public class RangerSolrAuthorizer implements 
AuthorizationPlugin {
 
                                        RangerAccessRequestImpl 
requestForCollection = createRequest(
                                                        userName, userGroups, 
ip, eventTime, context,
-                                                       collectionRequest, 
clusterName);
+                                                       collectionRequest);
                                        if (requestForCollection != null) {
                                                
rangerRequests.add(requestForCollection);
                                        }
@@ -351,7 +350,7 @@ public class RangerSolrAuthorizer implements 
AuthorizationPlugin {
         */
        private RangerAccessRequestImpl createRequest(String userName,
                        Set<String> userGroups, String ip, Date eventTime,
-                       AuthorizationContext context, CollectionRequest 
collectionRequest, String clusterName) {
+                       AuthorizationContext context, CollectionRequest 
collectionRequest) {
 
                String accessType = mapToRangerAccessType(context);
                String action = accessType;
@@ -366,7 +365,6 @@ public class RangerSolrAuthorizer implements 
AuthorizationPlugin {
                rangerRequest.setResource(rangerResource);
                rangerRequest.setAccessType(accessType);
                rangerRequest.setAction(action);
-               rangerRequest.setClusterName(clusterName);
 
                return rangerRequest;
        }
diff --git 
a/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
 
b/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
index 17a7a63..d099f00 100644
--- 
a/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
+++ 
b/plugin-sqoop/src/main/java/org/apache/ranger/authorization/sqoop/authorizer/RangerSqoopAuthorizer.java
@@ -100,12 +100,10 @@ public class RangerSqoopAuthorizer extends 
AuthorizationValidator {
                }
 
                RangerSqoopPlugin plugin = sqoopPlugin;
-               String clusterName = sqoopPlugin.getClusterName();
 
                if (plugin != null) {
                        for (MPrivilege privilege : privileges) {
-                               RangerSqoopAccessRequest request = new 
RangerSqoopAccessRequest(principal, privilege, clusterName,
-                                               clientIPAddress);
+                               RangerSqoopAccessRequest request = new 
RangerSqoopAccessRequest(principal, privilege, clientIPAddress);
 
                                RangerAccessResult result = 
plugin.isAccessAllowed(request);
                                if (result != null && !result.getIsAllowed()) {
@@ -168,8 +166,7 @@ class RangerSqoopResource extends RangerAccessResourceImpl {
 }
 
 class RangerSqoopAccessRequest extends RangerAccessRequestImpl {
-       public RangerSqoopAccessRequest(MPrincipal principal, MPrivilege 
privilege, String clusterName,
-                       String clientIPAddress) {
+       public RangerSqoopAccessRequest(MPrincipal principal, MPrivilege 
privilege,String clientIPAddress) {
                super.setResource(new 
RangerSqoopResource(privilege.getResource()));
                if (MPrincipal.TYPE.USER.name().equals(principal.getType())) {
                        super.setUser(principal.getName());
@@ -184,6 +181,5 @@ class RangerSqoopAccessRequest extends 
RangerAccessRequestImpl {
 
                super.setAccessTime(new Date());
                super.setClientIPAddress(clientIPAddress);
-               super.setClusterName(clusterName);
        }
 }
\ No newline at end of file
diff --git 
a/plugin-yarn/src/main/java/org/apache/ranger/authorization/yarn/authorizer/RangerYarnAuthorizer.java
 
b/plugin-yarn/src/main/java/org/apache/ranger/authorization/yarn/authorizer/RangerYarnAuthorizer.java
index 54f230c..b49fb8a 100644
--- 
a/plugin-yarn/src/main/java/org/apache/ranger/authorization/yarn/authorizer/RangerYarnAuthorizer.java
+++ 
b/plugin-yarn/src/main/java/org/apache/ranger/authorization/yarn/authorizer/RangerYarnAuthorizer.java
@@ -107,7 +107,6 @@ public class RangerYarnAuthorizer extends 
YarnAuthorizationProvider {
                RangerYarnPlugin       plugin       = yarnPlugin;
                RangerYarnAuditHandler auditHandler = null;
                RangerAccessResult     result       = null;
-               String                             clusterName  = 
yarnPlugin.getClusterName();
 
                RangerPerfTracer perf = null;
                RangerPerfTracer yarnAclPerf = null;
@@ -118,7 +117,7 @@ public class RangerYarnAuthorizer extends 
YarnAuthorizationProvider {
                                perf = 
RangerPerfTracer.getPerfTracer(PERF_YARNAUTH_REQUEST_LOG, 
"RangerYarnAuthorizer.checkPermission(entity=" + entity + ")");
                        }
 
-                       RangerYarnAccessRequest request = new 
RangerYarnAccessRequest(entity, getRangerAccessType(accessType), 
accessType.name(), ugi, clusterName);
+                       RangerYarnAccessRequest request = new 
RangerYarnAccessRequest(entity, getRangerAccessType(accessType), 
accessType.name(), ugi);
 
                        auditHandler = new RangerYarnAuditHandler();
 
@@ -301,7 +300,7 @@ class RangerYarnResource extends RangerAccessResourceImpl {
 }
 
 class RangerYarnAccessRequest extends RangerAccessRequestImpl {
-       public RangerYarnAccessRequest(PrivilegedEntity entity, String 
accessType, String action, UserGroupInformation ugi, String clusterName) {
+       public RangerYarnAccessRequest(PrivilegedEntity entity, String 
accessType, String action, UserGroupInformation ugi) {
                super.setResource(new RangerYarnResource(entity));
                super.setAccessType(accessType);
                super.setUser(ugi.getShortUserName());
@@ -309,7 +308,6 @@ class RangerYarnAccessRequest extends 
RangerAccessRequestImpl {
                super.setAccessTime(new Date());
                super.setClientIPAddress(getRemoteIp());
                super.setAction(action);
-               super.setClusterName(clusterName);
        }
        
        private static String getRemoteIp() {
diff --git 
a/ranger-tools/src/main/java/org/apache/ranger/policyengine/PerfTestEngine.java 
b/ranger-tools/src/main/java/org/apache/ranger/policyengine/PerfTestEngine.java
index 590c1e7..df31a61 100644
--- 
a/ranger-tools/src/main/java/org/apache/ranger/policyengine/PerfTestEngine.java
+++ 
b/ranger-tools/src/main/java/org/apache/ranger/policyengine/PerfTestEngine.java
@@ -24,6 +24,7 @@ import com.google.gson.GsonBuilder;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ranger.plugin.model.RangerPolicy;
+import org.apache.ranger.plugin.model.RangerServiceDef;
 import org.apache.ranger.plugin.policyengine.*;
 import org.apache.ranger.plugin.util.ServicePolicies;
 
@@ -41,6 +42,7 @@ public class PerfTestEngine {
        private final URL servicePoliciesFileURL;
        private final RangerPolicyEngineOptions policyEngineOptions;
        private RangerPolicyEngine policyEvaluationEngine;
+       private RangerPluginContext rangerPluginContext;
        private final boolean disableDynamicPolicyEvalReordering;
        private AtomicLong requestCount = new AtomicLong();
 
@@ -71,8 +73,10 @@ public class PerfTestEngine {
                        reader = new InputStreamReader(in, 
Charset.forName("UTF-8"));
 
                        servicePolicies = gsonBuilder.fromJson(reader, 
ServicePolicies.class);
-
-                       policyEvaluationEngine = new 
RangerPolicyEngineImpl("perf-test", servicePolicies, policyEngineOptions);
+                       RangerServiceDef serviceDef = 
servicePolicies.getServiceDef();
+                       String serviceType = (serviceDef != null) ? 
serviceDef.getName() : "";
+                       rangerPluginContext = new 
RangerPluginContext(serviceType);
+                       policyEvaluationEngine = new 
RangerPolicyEngineImpl("perf-test", servicePolicies, policyEngineOptions, 
rangerPluginContext);
 
                        requestCount.set(0L);
 
diff --git 
a/ranger-tools/src/test/java/org/apache/ranger/policyengine/RangerPolicyEnginePerformanceTest.java
 
b/ranger-tools/src/test/java/org/apache/ranger/policyengine/RangerPolicyEnginePerformanceTest.java
index 7a39396..97f474b 100644
--- 
a/ranger-tools/src/test/java/org/apache/ranger/policyengine/RangerPolicyEnginePerformanceTest.java
+++ 
b/ranger-tools/src/test/java/org/apache/ranger/policyengine/RangerPolicyEnginePerformanceTest.java
@@ -34,6 +34,7 @@ import java.util.concurrent.CountDownLatch;
 import org.apache.commons.lang.text.StrSubstitutor;
 import org.apache.ranger.plugin.model.RangerPolicy;
 import org.apache.ranger.plugin.policyengine.RangerAccessRequest;
+import org.apache.ranger.plugin.policyengine.RangerPluginContext;
 import org.apache.ranger.plugin.policyengine.RangerPolicyEngineImpl;
 import org.apache.ranger.plugin.util.PerfDataRecorder;
 import org.apache.ranger.plugin.util.PerfDataRecorder.PerfStatistic;
@@ -144,8 +145,9 @@ public class RangerPolicyEnginePerformanceTest {
        public void policyEngineTest() throws InterruptedException {
                List<RangerAccessRequest> requests = 
requestsCache.getUnchecked(concurrency);
                ServicePolicies servicePolicies = 
servicePoliciesCache.getUnchecked(numberOfPolicies);
-
-               final RangerPolicyEngineImpl rangerPolicyEngine = new 
RangerPolicyEngineImpl("perf-test", servicePolicies, 
RangerPolicyFactory.createPolicyEngineOption());
+               RangerPluginContext pluginContext = new 
RangerPluginContext("hive");
+               pluginContext.setClusterName("cl1");
+               final RangerPolicyEngineImpl rangerPolicyEngine = new 
RangerPolicyEngineImpl("perf-test", servicePolicies, 
RangerPolicyFactory.createPolicyEngineOption(), pluginContext);
                rangerPolicyEngine.preProcess(requests);
 
                for (int iterations = 0; iterations < WARM_UP__ITERATIONS; 
iterations++) {
diff --git 
a/storm-agent/src/main/java/org/apache/ranger/authorization/storm/StormRangerPlugin.java
 
b/storm-agent/src/main/java/org/apache/ranger/authorization/storm/StormRangerPlugin.java
index 88ea05e..111083c 100644
--- 
a/storm-agent/src/main/java/org/apache/ranger/authorization/storm/StormRangerPlugin.java
+++ 
b/storm-agent/src/main/java/org/apache/ranger/authorization/storm/StormRangerPlugin.java
@@ -82,7 +82,7 @@ public class StormRangerPlugin extends RangerBasePlugin {
                }
        }
 
-       public RangerAccessRequest buildAccessRequest(String _user, String[] 
_groups, String _clientIp, String _topology, String _operation, String 
clusterName) {
+       public RangerAccessRequest buildAccessRequest(String _user, String[] 
_groups, String _clientIp, String _topology, String _operation) {
                
                RangerAccessRequestImpl request = new RangerAccessRequestImpl();
                request.setUser(_user);
@@ -98,7 +98,6 @@ public class StormRangerPlugin extends RangerBasePlugin {
                RangerAccessResourceImpl resource = new 
RangerAccessResourceImpl();
                resource.setValue(ResourceName.Topology, _topology);
                request.setResource(resource);
-               request.setClusterName(clusterName);
                
                if (LOG.isDebugEnabled()) {
                        LOG.debug("Returning request: " + request.toString());
diff --git 
a/storm-agent/src/main/java/org/apache/ranger/authorization/storm/authorizer/RangerStormAuthorizer.java
 
b/storm-agent/src/main/java/org/apache/ranger/authorization/storm/authorizer/RangerStormAuthorizer.java
index 0fe658e..ea367af 100644
--- 
a/storm-agent/src/main/java/org/apache/ranger/authorization/storm/authorizer/RangerStormAuthorizer.java
+++ 
b/storm-agent/src/main/java/org/apache/ranger/authorization/storm/authorizer/RangerStormAuthorizer.java
@@ -122,8 +122,7 @@ public class RangerStormAuthorizer implements IAuthorizer {
                                
                                if (userName != null) {
                                        String clientIp =  
(aRequestContext.remoteAddress() == null ? null : 
aRequestContext.remoteAddress().getHostAddress() );
-                                       String clusterName = 
plugin.getClusterName();
-                                       RangerAccessRequest accessRequest = 
plugin.buildAccessRequest(userName, groups, clientIp, topologyName, 
aOperationName, clusterName);
+                                       RangerAccessRequest accessRequest = 
plugin.buildAccessRequest(userName, groups, clientIp, topologyName, 
aOperationName);
                                        RangerAccessResult result = 
plugin.isAccessAllowed(accessRequest);
                                        accessAllowed = result != null && 
result.getIsAllowed();
                                        isAuditEnabled = result != null && 
result.getIsAudited();

Reply via email to