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;
+        }
 }

Reply via email to