Repository: hadoop Updated Branches: refs/heads/HDFS-6581 1e6b4b9b2 -> 7f0422be7
HDFS-7124. Remove EncryptionZoneManager.NULL_EZ. (clamb via wang) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7f0efe96 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7f0efe96 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7f0efe96 Branch: refs/heads/HDFS-6581 Commit: 7f0efe96f85704e39349f20ab6a11bfaa81c6a75 Parents: a45b331 Author: Andrew Wang <[email protected]> Authored: Mon Sep 29 14:14:22 2014 -0700 Committer: Andrew Wang <[email protected]> Committed: Mon Sep 29 14:14:22 2014 -0700 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++ .../src/main/java/org/apache/hadoop/hdfs/DFSClient.java | 3 +-- .../ClientNamenodeProtocolServerSideTranslatorPB.java | 4 +++- .../hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java | 6 +++++- .../hadoop/hdfs/server/namenode/EncryptionZoneManager.java | 6 +----- .../org/apache/hadoop/hdfs/server/namenode/FSDirectory.java | 3 +-- .../hadoop-hdfs/src/main/proto/encryption.proto | 2 +- 7 files changed, 14 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/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 89a47e3..41d8066 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -520,6 +520,8 @@ Release 2.6.0 - UNRELEASED HDFS-7104. Fix and clarify INodeInPath getter functions. (Zhe Zhang via wang) + HDFS-7124. Remove EncryptionZoneManager.NULL_EZ. (clamb via wang) + OPTIMIZATIONS HDFS-6690. Deduplicate xattr names in memory. (wang) http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java index bdfea12..d83d8cb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java @@ -2940,8 +2940,7 @@ public class DFSClient implements java.io.Closeable, RemotePeerFactory, throws IOException { checkOpen(); try { - final EncryptionZone ez = namenode.getEZForPath(src); - return (ez.getId() < 0) ? null : ez; + return namenode.getEZForPath(src); } catch (RemoteException re) { throw re.unwrapRemoteException(AccessControlException.class, UnresolvedPathException.class); http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java index 27904e1..a92d455 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java @@ -1340,7 +1340,9 @@ public class ClientNamenodeProtocolServerSideTranslatorPB implements GetEZForPathResponseProto.Builder builder = GetEZForPathResponseProto.newBuilder(); final EncryptionZone ret = server.getEZForPath(req.getSrc()); - builder.setZone(PBHelper.convert(ret)); + if (ret != null) { + builder.setZone(PBHelper.convert(ret)); + } return builder.build(); } catch (IOException e) { throw new ServiceException(e); http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java index df8965c..077a3e9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java @@ -1347,7 +1347,11 @@ public class ClientNamenodeProtocolTranslatorPB implements try { final EncryptionZonesProtos.GetEZForPathResponseProto response = rpcProxy.getEZForPath(null, req); - return PBHelper.convert(response.getZone()); + if (response.hasZone()) { + return PBHelper.convert(response.getZone()); + } else { + return null; + } } catch (ServiceException e) { throw ProtobufHelper.getRemoteException(e); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java index 0e83583..0d7ced9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/EncryptionZoneManager.java @@ -57,10 +57,6 @@ public class EncryptionZoneManager { public static Logger LOG = LoggerFactory.getLogger(EncryptionZoneManager .class); - public static final EncryptionZone NULL_EZ = - new EncryptionZone(-1, "", CipherSuite.UNKNOWN, - CryptoProtocolVersion.UNKNOWN, ""); - /** * EncryptionZoneInt is the internal representation of an encryption zone. The * external representation of an EZ is embodied in an EncryptionZone and @@ -226,7 +222,7 @@ public class EncryptionZoneManager { EncryptionZone getEZINodeForPath(INodesInPath iip) { final EncryptionZoneInt ezi = getEncryptionZoneForPath(iip); if (ezi == null) { - return NULL_EZ; + return null; } else { return new EncryptionZone(ezi.getINodeId(), getFullPathName(ezi), ezi.getSuite(), ezi.getVersion(), ezi.getKeyName()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java index a25e3fa..b5cf6c6 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirectory.java @@ -2845,8 +2845,7 @@ public class FSDirectory implements Closeable { iip = getINodesInPath(inode.getFullPathName(), true); } EncryptionZone encryptionZone = getEZForPath(iip); - if (encryptionZone == null || - encryptionZone.equals(EncryptionZoneManager.NULL_EZ)) { + if (encryptionZone == null) { // not an encrypted file return null; } else if(encryptionZone.getPath() == null http://git-wip-us.apache.org/repos/asf/hadoop/blob/7f0efe96/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/encryption.proto ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/encryption.proto b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/encryption.proto index bb291ea..68b2f3a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/encryption.proto +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/proto/encryption.proto @@ -63,5 +63,5 @@ message GetEZForPathRequestProto { } message GetEZForPathResponseProto { - required EncryptionZoneProto zone = 1; + optional EncryptionZoneProto zone = 1; }
