Repository: hadoop Updated Branches: refs/heads/HDFS-7285 0b2eb8da1 -> 84084c00f
HDFS-8114. Erasure coding: Add auditlog FSNamesystem#createErasureCodingZone if this operation fails. Contributed by Rakesh R. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/84084c00 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/84084c00 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/84084c00 Branch: refs/heads/HDFS-7285 Commit: 84084c00f15ed6ba040369d709d5ea6455acb004 Parents: 0b2eb8d Author: Zhe Zhang <[email protected]> Authored: Mon Apr 13 11:15:02 2015 -0700 Committer: Zhe Zhang <[email protected]> Committed: Mon Apr 13 11:15:02 2015 -0700 ---------------------------------------------------------------------- .../hdfs/server/namenode/FSNamesystem.java | 21 ++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/84084c00/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java ---------------------------------------------------------------------- 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 dfd0382..1a9c529 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 @@ -8116,11 +8116,19 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, SafeModeException, AccessControlException { String src = srcArg; HdfsFileStatus resultingStat = null; - checkSuperuserPrivilege(); - checkOperation(OperationCategory.WRITE); - final byte[][] pathComponents = - FSDirectory.getPathComponentsForReservedPath(src); - FSPermissionChecker pc = getPermissionChecker(); + FSPermissionChecker pc = null; + byte[][] pathComponents = null; + boolean success = false; + try { + checkSuperuserPrivilege(); + checkOperation(OperationCategory.WRITE); + pathComponents = + FSDirectory.getPathComponentsForReservedPath(src); + pc = getPermissionChecker(); + } catch (Throwable e) { + logAuditEvent(success, "createErasureCodingZone", srcArg); + throw e; + } writeLock(); try { checkSuperuserPrivilege(); @@ -8134,11 +8142,12 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, getEditLog().logSetXAttrs(src, xAttrs, logRetryCache); final INodesInPath iip = dir.getINodesInPath4Write(src, false); resultingStat = dir.getAuditFileInfo(iip); + success = true; } finally { writeUnlock(); } getEditLog().logSync(); - logAuditEvent(true, "createErasureCodingZone", srcArg, null, resultingStat); + logAuditEvent(success, "createErasureCodingZone", srcArg, null, resultingStat); } /**
