RANGER-1161: trie prefilter updated to handle empty resource value
diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
index 539d580..31f9720 100644
--- a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
+++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
@@ -157,7 +157,9 @@
}
public List<RangerPolicyEvaluator> getPolicyEvaluators(RangerAccessResource resource) {
- return disableTrieLookupPrefilter ? getPolicyEvaluators() : getPolicyEvaluators(policyResourceTrie, resource);
+ String resourceStr = resource == null ? null : resource.getAsString();
+
+ return disableTrieLookupPrefilter || StringUtils.isEmpty(resourceStr) ? getPolicyEvaluators() : getPolicyEvaluators(policyResourceTrie, resource);
}
public static boolean isDelegateAdminPolicy(RangerPolicy policy) {