Repository: hadoop Updated Branches: refs/heads/trunk 1c3ff0b7c -> 368743140
HDFS-7252. small refinement to the use of isInAnEZ in FSNamesystem. (Yi Liu via vinayakumarb) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/36874314 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/36874314 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/36874314 Branch: refs/heads/trunk Commit: 368743140dd076ecd5af309c1ed83c5ae2d59fc8 Parents: 1c3ff0b Author: Vinayakumar B <[email protected]> Authored: Fri Oct 17 18:03:44 2014 +0530 Committer: Vinayakumar B <[email protected]> Committed: Fri Oct 17 18:03:44 2014 +0530 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hadoop/hdfs/server/namenode/FSNamesystem.java | 12 +++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/36874314/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 4d2400d..fc84c57 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -402,6 +402,9 @@ Release 2.7.0 - UNRELEASED HDFS-7242. Code improvement for FSN#checkUnreadableBySuperuser. (Yi Liu via vinayakumarb) + HDFS-7252. small refinement to the use of isInAnEZ in FSNamesystem. + (Yi Liu via vinayakumarb) + Release 2.6.0 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/36874314/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 82d5c0e..8e1ea79 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 @@ -2592,11 +2592,11 @@ public class FSNamesystem implements Namesystem, FSClusterStats, src = resolvePath(src, pathComponents); INodesInPath iip = dir.getINodesInPath4Write(src); // Nothing to do if the path is not within an EZ - if (dir.isInAnEZ(iip)) { - EncryptionZone zone = dir.getEZForPath(iip); + final EncryptionZone zone = dir.getEZForPath(iip); + if (zone != null) { protocolVersion = chooseProtocolVersion(zone, supportedVersions); suite = zone.getSuite(); - ezKeyName = dir.getKeyName(iip); + ezKeyName = zone.getKeyName(); Preconditions.checkNotNull(protocolVersion); Preconditions.checkNotNull(suite); @@ -2679,14 +2679,16 @@ public class FSNamesystem implements Namesystem, FSClusterStats, } FileEncryptionInfo feInfo = null; - if (dir.isInAnEZ(iip)) { + + final EncryptionZone zone = dir.getEZForPath(iip); + if (zone != null) { // The path is now within an EZ, but we're missing encryption parameters if (suite == null || edek == null) { throw new RetryStartFileException(); } // Path is within an EZ and we have provided encryption parameters. // Make sure that the generated EDEK matches the settings of the EZ. - String ezKeyName = dir.getKeyName(iip); + final String ezKeyName = zone.getKeyName(); if (!ezKeyName.equals(edek.getEncryptionKeyName())) { throw new RetryStartFileException(); }
