瀏覽代碼

HDFS-10793. Fix HdfsAuditLogger binary incompatibility introduced by HDFS-9184. Contributed by Manoj Govindassamy.

(cherry picked from commit a445b82baaa58dcaaa3831e724a9915e9dde57c5)
(cherry picked from commit 1c47a356d8a29d95f9f991379d3bec92d28a728c)
Andrew Wang 9 年之前
父節點
當前提交
42e03d7bfe

+ 9 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java

@@ -7563,6 +7563,15 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean,
       }
       }
     }
     }
 
 
+    @Override
+    public void logAuditEvent(boolean succeeded, String userName,
+        InetAddress addr, String cmd, String src, String dst,
+        FileStatus status, UserGroupInformation ugi,
+        DelegationTokenSecretManager dtSecretManager) {
+      this.logAuditEvent(succeeded, userName, addr, cmd, src, dst, status,
+              null /*CallerContext*/, ugi, dtSecretManager);
+    }
+
     public void logAuditMessage(String message) {
     public void logAuditMessage(String message) {
       auditLog.info(message);
       auditLog.info(message);
     }
     }

+ 19 - 4
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/HdfsAuditLogger.java

@@ -43,9 +43,9 @@ public abstract class HdfsAuditLogger implements AuditLogger {
 
 
   /**
   /**
    * Same as
    * Same as
-   * {@link #logAuditEvent(boolean, String, InetAddress, String, String, String, FileStatus)}
-   * with additional parameters related to logging delegation token tracking
-   * IDs.
+   * {@link #logAuditEvent(boolean, String, InetAddress, String, String, String,
+   * FileStatus)} with additional parameters related to logging delegation token
+   * tracking IDs.
    * 
    * 
    * @param succeeded Whether authorization succeeded.
    * @param succeeded Whether authorization succeeded.
    * @param userName Name of the user executing the request.
    * @param userName Name of the user executing the request.
@@ -55,13 +55,28 @@ public abstract class HdfsAuditLogger implements AuditLogger {
    * @param dst Path of affected destination file (if any).
    * @param dst Path of affected destination file (if any).
    * @param stat File information for operations that change the file's metadata
    * @param stat File information for operations that change the file's metadata
    *          (permissions, owner, times, etc).
    *          (permissions, owner, times, etc).
+   * @param callerContext Context information of the caller
    * @param ugi UserGroupInformation of the current user, or null if not logging
    * @param ugi UserGroupInformation of the current user, or null if not logging
    *          token tracking information
    *          token tracking information
    * @param dtSecretManager The token secret manager, or null if not logging
    * @param dtSecretManager The token secret manager, or null if not logging
    *          token tracking information
    *          token tracking information
    */
    */
-  public abstract void logAuditEvent(boolean succeeded, String userName,
+  public void logAuditEvent(boolean succeeded, String userName,
       InetAddress addr, String cmd, String src, String dst,
       InetAddress addr, String cmd, String src, String dst,
       FileStatus stat, CallerContext callerContext, UserGroupInformation ugi,
       FileStatus stat, CallerContext callerContext, UserGroupInformation ugi,
+      DelegationTokenSecretManager dtSecretManager) {
+    logAuditEvent(succeeded, userName, addr, cmd, src, dst, stat,
+                  ugi, dtSecretManager);
+  }
+
+  /**
+   * Same as
+   * {@link #logAuditEvent(boolean, String, InetAddress, String, String,
+   * String, FileStatus, CallerContext, UserGroupInformation,
+   * DelegationTokenSecretManager)} without {@link CallerContext} information.
+   */
+  public abstract void logAuditEvent(boolean succeeded, String userName,
+      InetAddress addr, String cmd, String src, String dst,
+      FileStatus stat, UserGroupInformation ugi,
       DelegationTokenSecretManager dtSecretManager);
       DelegationTokenSecretManager dtSecretManager);
 }
 }