HDFS-7124. Remove EncryptionZoneManager.NULL_EZ. (clamb via wang)
(cherry picked from commit 7f0efe96f8
)
This commit is contained in:
parent
d551a95fc4
commit
38f3b11c29
|
@ -265,6 +265,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)
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -2846,8 +2846,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
|
||||
|
|
|
@ -63,5 +63,5 @@ message GetEZForPathRequestProto {
|
|||
}
|
||||
|
||||
message GetEZForPathResponseProto {
|
||||
required EncryptionZoneProto zone = 1;
|
||||
optional EncryptionZoneProto zone = 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue