You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by we...@apache.org on 2019/08/02 17:53:12 UTC

[hadoop] branch trunk updated: HDFS-14685. DefaultAuditLogger doesn't print CallerContext. Contributed by xuzq.

This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 51aedf2  HDFS-14685. DefaultAuditLogger doesn't print CallerContext. Contributed by xuzq.
51aedf2 is described below

commit 51aedf2e1a5cd88a6e23e137e9b3d103e9cf5b7d
Author: Wei-Chiu Chuang <we...@apache.org>
AuthorDate: Fri Aug 2 10:51:04 2019 -0700

    HDFS-14685. DefaultAuditLogger doesn't print CallerContext. Contributed by xuzq.
---
 .../java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java  | 4 +++-
 .../org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java    | 7 ++-----
 .../org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java   | 5 +++++
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
index 36402af..e340326 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
@@ -1077,7 +1077,9 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
 
     // Make sure there is at least one logger installed.
     if (auditLoggers.isEmpty()) {
-      auditLoggers.add(new DefaultAuditLogger());
+      DefaultAuditLogger defaultAuditLogger = new DefaultAuditLogger();
+      defaultAuditLogger.initialize(conf);
+      auditLoggers.add(defaultAuditLogger);
     }
 
     // Add audit logger to calculate top users
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java
index 894c4df..0a355d0 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java
@@ -61,13 +61,10 @@ public abstract class HdfsAuditLogger implements AuditLogger {
    * @param dtSecretManager The token secret manager, or null if not logging
    *          token tracking information
    */
-  public void logAuditEvent(boolean succeeded, String userName,
+  public abstract void logAuditEvent(boolean succeeded, String userName,
       InetAddress addr, String cmd, String src, String dst,
       FileStatus stat, CallerContext callerContext, UserGroupInformation ugi,
-      DelegationTokenSecretManager dtSecretManager) {
-    logAuditEvent(succeeded, userName, addr, cmd, src, dst, stat,
-                  ugi, dtSecretManager);
-  }
+      DelegationTokenSecretManager dtSecretManager);
 
   /**
    * Same as
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
index cc5999f..18cd1b6 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSNamesystem.java
@@ -18,6 +18,7 @@
 
 package org.apache.hadoop.hdfs.server.namenode;
 
+import static org.apache.hadoop.fs.CommonConfigurationKeysPublic.HADOOP_CALLER_CONTEXT_ENABLED_KEY;
 import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMENODE_EDITS_DIR_KEY;
 import static org.apache.hadoop.hdfs.DFSConfigKeys.DFS_NAMENODE_NAME_DIR_KEY;
 import static org.hamcrest.CoreMatchers.either;
@@ -242,10 +243,14 @@ public class TestFSNamesystem {
     conf.set(DFSConfigKeys.DFS_NAMENODE_AUDIT_LOGGERS_KEY, "");
     // Disable top logger
     conf.setBoolean(DFSConfigKeys.NNTOP_ENABLED_KEY, false);
+    conf.setBoolean(HADOOP_CALLER_CONTEXT_ENABLED_KEY, true);
     fsn = new FSNamesystem(conf, fsImage);
     auditLoggers = fsn.getAuditLoggers();
     assertTrue(auditLoggers.size() == 1);
     assertTrue(auditLoggers.get(0) instanceof FSNamesystem.DefaultAuditLogger);
+    FSNamesystem.DefaultAuditLogger defaultAuditLogger =
+        (FSNamesystem.DefaultAuditLogger) auditLoggers.get(0);
+    assertTrue(defaultAuditLogger.getCallerContextEnabled());
 
     // Not to specify any audit loggers in config
     conf.set(DFSConfigKeys.DFS_NAMENODE_AUDIT_LOGGERS_KEY, "");


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org