Repository: incubator-ranger Updated Branches: refs/heads/master 250c50daa -> b935426d1
RANGER-1152: Improver performance of ranger audit login while audit event-id creation Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/b935426d Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/b935426d Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/b935426d Branch: refs/heads/master Commit: b935426d1856abbe52cfa4a26af9a2110d273ccb Parents: 250c50d Author: rmani <[email protected]> Authored: Sun Aug 14 23:40:50 2016 -0700 Committer: rmani <[email protected]> Committed: Sun Aug 14 23:40:50 2016 -0700 ---------------------------------------------------------------------- .../plugin/audit/RangerDefaultAuditHandler.java | 22 ++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b935426d/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java ---------------------------------------------------------------------- diff --git a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java index a6961c1..0cb8ab6 100644 --- a/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java +++ b/agents-common/src/main/java/org/apache/ranger/plugin/audit/RangerDefaultAuditHandler.java @@ -20,6 +20,7 @@ package org.apache.ranger.plugin.audit; import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -36,11 +37,15 @@ import org.apache.ranger.plugin.util.RangerAccessRequestUtil; public class RangerDefaultAuditHandler implements RangerAccessResultProcessor { + protected static final String RangerModuleName = RangerConfiguration.getInstance().get(RangerHadoopConstants.AUDITLOG_RANGER_MODULE_ACL_NAME_PROP , RangerHadoopConstants.DEFAULT_RANGER_MODULE_ACL_NAME) ; private static final Log LOG = LogFactory.getLog(RangerDefaultAuditHandler.class); static long sequenceNumber = 0; + private static String UUID = MiscUtil.generateUniqueId(); + private static AtomicInteger counter = new AtomicInteger(0); ; + public RangerDefaultAuditHandler() { } @@ -114,7 +119,6 @@ public class RangerDefaultAuditHandler implements RangerAccessResultProcessor { ret.setTags(tags); } ret.setAdditionalInfo(getAdditionalInfo(request)); - populateDefaults(ret); } @@ -187,7 +191,7 @@ public class RangerDefaultAuditHandler implements RangerAccessResultProcessor { } if (auditEvent.getEventId() == null || auditEvent.getEventId().isEmpty()) { - auditEvent.setEventId(MiscUtil.generateUniqueId()); + auditEvent.setEventId(generateNextAuditEventId()); } auditEvent.setSeqNum(sequenceNumber++); @@ -238,4 +242,18 @@ public class RangerDefaultAuditHandler implements RangerAccessResultProcessor { return sb.toString(); } + + private String generateNextAuditEventId() { + int nextId = counter.getAndIncrement(); + + if(nextId == Integer.MAX_VALUE) { + // reset UUID and counter + RangerDefaultAuditHandler.UUID = MiscUtil.generateUniqueId(); + counter = new AtomicInteger(0); + } + + String ret = RangerDefaultAuditHandler.UUID + "-" + Integer.toString(nextId); + + return ret; + } }
