Repository: incubator-ranger Updated Branches: refs/heads/master cd234cd61 -> 87d97cd14
RANGER-753: Fixed a potential NPE introduced in Optimize Tag Download Performance Signed-off-by: Madhan Neethiraj <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/87d97cd1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/87d97cd1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/87d97cd1 Branch: refs/heads/master Commit: 87d97cd14903b1bada33225081ec67d0ea6079da Parents: cd234cd Author: Abhay Kulkarni <[email protected]> Authored: Thu Dec 3 14:33:13 2015 -0800 Committer: Madhan Neethiraj <[email protected]> Committed: Thu Dec 3 16:36:38 2015 -0800 ---------------------------------------------------------------------- .../RangerDefaultPolicyEvaluator.java | 4 ++- .../ranger/plugin/store/AbstractTagStore.java | 37 +++++++++++--------- 2 files changed, 23 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/87d97cd1/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java index 77fdb90..93fbcd4 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java @@ -71,7 +71,9 @@ public class RangerDefaultPolicyEvaluator extends RangerAbstractPolicyEvaluator } StringBuffer perfTagBuffer = new StringBuffer(); - perfTagBuffer.append("policyId=").append(policy.getId()).append(", policyName=").append(policy.getName()); + if (policy != null) { + perfTagBuffer.append("policyId=").append(policy.getId()).append(", policyName=").append(policy.getName()); + } perfTag = perfTagBuffer.toString(); http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/87d97cd1/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractTagStore.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractTagStore.java b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractTagStore.java index f22a87a..43d2254 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractTagStore.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/store/AbstractTagStore.java @@ -113,32 +113,35 @@ public abstract class AbstractTagStore implements TagStore { List<RangerServiceResource> serviceResources = getServiceResourcesByService(serviceName); - Set<Long> tagsToDelete = new HashSet<Long>(); + if (serviceResources != null) { + Set<Long> tagsToDelete = new HashSet<Long>(); - for (RangerServiceResource serviceResource : serviceResources) { - Long resourceId = serviceResource.getId(); - List<RangerTagResourceMap> tagResourceMapsForService = getTagResourceMapsForResourceId(resourceId); + for (RangerServiceResource serviceResource : serviceResources) { + Long resourceId = serviceResource.getId(); - if (isResourePrivateTag) { + List<RangerTagResourceMap> tagResourceMapsForService = getTagResourceMapsForResourceId(resourceId); + + if (isResourePrivateTag) { + for (RangerTagResourceMap tagResourceMap : tagResourceMapsForService) { + Long tagId = tagResourceMap.getTagId(); + RangerTag tag = getTag(tagId); + tagsToDelete.add(tag.getId()); + } + } for (RangerTagResourceMap tagResourceMap : tagResourceMapsForService) { - Long tagId = tagResourceMap.getTagId(); - RangerTag tag = getTag(tagId); - tagsToDelete.add(tag.getId()); + deleteTagResourceMap(tagResourceMap.getId()); } } - for (RangerTagResourceMap tagResourceMap : tagResourceMapsForService) { - deleteTagResourceMap(tagResourceMap.getId()); - } - } - for (RangerServiceResource serviceResource : serviceResources) { - deleteServiceResource(serviceResource.getId()); - } + for (RangerServiceResource serviceResource : serviceResources) { + deleteServiceResource(serviceResource.getId()); + } - for (Long tagId : tagsToDelete) { - deleteTag(tagId); + for (Long tagId : tagsToDelete) { + deleteTag(tagId); + } } if (LOG.isDebugEnabled()) {
