You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sv...@apache.org on 2017/01/12 07:59:58 UTC

incubator-atlas git commit: Add exclusion mechanism for Atlas audit mechanism

Repository: incubator-atlas
Updated Branches:
  refs/heads/master 384c33585 -> 9683c1170


Add exclusion mechanism for Atlas audit mechanism


Project: http://git-wip-us.apache.org/repos/asf/incubator-atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/9683c117
Tree: http://git-wip-us.apache.org/repos/asf/incubator-atlas/tree/9683c117
Diff: http://git-wip-us.apache.org/repos/asf/incubator-atlas/diff/9683c117

Branch: refs/heads/master
Commit: 9683c1170e4455eb69ace90d3d92bc57e65eea60
Parents: 384c335
Author: Neeru Gupta <gu...@us.ibm.com>
Authored: Thu Jan 12 13:29:39 2017 +0530
Committer: Vimal Sharma <sv...@apache.org>
Committed: Thu Jan 12 13:29:39 2017 +0530

----------------------------------------------------------------------
 release-log.txt                                          |  2 ++
 .../apache/atlas/util/AtlasRepositoryConfiguration.java  |  6 ++++--
 .../java/org/apache/atlas/web/filters/AuditFilter.java   | 11 ++++++++---
 .../org/apache/atlas/web/filters/AuditFilterTest.java    |  7 +++++++
 4 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9683c117/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index ad220fa..497ad9a 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -9,6 +9,8 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al
 ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai)
 
 ALL CHANGES:
+ATLAS-1391 Add exclusion mechanism for Atlas audit mechanism (guptaneeru via svimal2106)
+ATLAS-1280 Atlas changes to support Hive hook for Hive2 (mneethiraj via svimal2106)
 ATLAS-1432 Responsive loader and css changes (kevalbhatt via mneethiraj)
 ATLAS-1434 Updated typename validation to allow "." for classifications (ashutoshm via mneethiraj)
 ATLAS-1435 include common attributes in v2 entity API response (svimal2106 via mneethiraj)

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9683c117/repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java
----------------------------------------------------------------------
diff --git a/repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java b/repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java
index a8e246f..ea0e670 100644
--- a/repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java
+++ b/repository/src/main/java/org/apache/atlas/util/AtlasRepositoryConfiguration.java
@@ -102,13 +102,15 @@ public class AtlasRepositoryConfiguration {
      * Get the list of operations which are configured to be skipped from auditing
      * Valid format is HttpMethod:URL eg: GET:Version
      * @return list of string
+     * @throws AtlasException
      */
-    public static List<String> getAuditExcludedOperations(Configuration config) {
+    public static List<String> getAuditExcludedOperations(Configuration config) throws AtlasException {
         if (config == null) {
             try {
                 config = ApplicationProperties.get();
             } catch (AtlasException e) {
                 LOG.error(" Error reading operations for auditing ", e);
+                throw e;
             }
         }
         if (skippedOperations == null) {
@@ -130,7 +132,7 @@ public class AtlasRepositoryConfiguration {
         return skippedOperations;
     }
 
-    public static boolean isExcludedFromAudit(Configuration config, String httpMethod, String httpUrl) {
+    public static boolean isExcludedFromAudit(Configuration config, String httpMethod, String httpUrl) throws AtlasException {
         if (getAuditExcludedOperations(config).size() > 0) {
             return getAuditExcludedOperations(config).contains(httpMethod.toLowerCase() + SEPARATOR + httpUrl.toLowerCase());
         } else {

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9683c117/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java b/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
index 62b4756..030788a 100755
--- a/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
+++ b/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
@@ -19,11 +19,13 @@
 package org.apache.atlas.web.filters;
 
 import com.google.inject.Singleton;
+
 import org.apache.atlas.AtlasClient;
+import org.apache.atlas.AtlasException;
 import org.apache.atlas.RequestContext;
 import org.apache.atlas.metrics.Metrics;
-import org.apache.atlas.util.AtlasRepositoryConfiguration;
 import org.apache.commons.configuration.Configuration;
+import org.apache.atlas.util.AtlasRepositoryConfiguration;
 import org.apache.atlas.web.util.DateTimeHelper;
 import org.apache.atlas.web.util.Servlets;
 import org.slf4j.Logger;
@@ -40,7 +42,6 @@ import javax.servlet.http.HttpServletResponse;
 
 import java.io.IOException;
 import java.util.Date;
-import java.util.List;
 import java.util.UUID;
 
 /**
@@ -126,7 +127,11 @@ public class AuditFilter implements Filter {
      }
 
     boolean isOperationExcludedFromAudit(String requestHttpMethod, String requestOperation, Configuration config) {
-       return AtlasRepositoryConfiguration.isExcludedFromAudit(config, requestHttpMethod, requestOperation);
+       try {
+        return AtlasRepositoryConfiguration.isExcludedFromAudit(config, requestHttpMethod, requestOperation);
+    } catch (AtlasException e) {
+        return false;
+    }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-atlas/blob/9683c117/webapp/src/test/java/org/apache/atlas/web/filters/AuditFilterTest.java
----------------------------------------------------------------------
diff --git a/webapp/src/test/java/org/apache/atlas/web/filters/AuditFilterTest.java b/webapp/src/test/java/org/apache/atlas/web/filters/AuditFilterTest.java
index 622b4ca..962f21a 100644
--- a/webapp/src/test/java/org/apache/atlas/web/filters/AuditFilterTest.java
+++ b/webapp/src/test/java/org/apache/atlas/web/filters/AuditFilterTest.java
@@ -115,4 +115,11 @@ public class AuditFilterTest {
         verify(filterChain).doFilter(servletRequest, servletResponse);
     }
 
+    @Test
+    public void testNullConfig() {
+        AtlasRepositoryConfiguration.resetExcludedOperations();
+        AuditFilter auditFilter = new AuditFilter();
+        assertFalse(auditFilter.isOperationExcludedFromAudit("GET", "Version", null));
+    }
+
 }