fix ClientNamenodeProtocolTranslatorPB#getAdditionalDatanode null ptr exception

This commit is contained in:
hangc0276 2020-07-31 21:33:23 +08:00
parent e756fe3590
commit 12bdfc3119
1 changed files with 12 additions and 6 deletions

View File

@ -545,16 +545,22 @@ public class ClientNamenodeProtocolTranslatorPB implements
.newBuilder()
.setSrc(src)
.setFileId(fileId)
.setBlk(PBHelperClient.convert(blk))
.addAllExistings(PBHelperClient.convert(existings))
.addAllExistingStorageUuids(Arrays.asList(existingStorageIDs))
.addAllExcludes(PBHelperClient.convert(excludes))
.setNumAdditionalNodes(numAdditionalNodes)
.setClientName(clientName)
.build();
.setClientName(clientName);
if (blk != null) {
req.setBlk(PBHelperClient.convert(blk));
}
if (existings != null) {
req.addAllExistings(PBHelperClient.convert(existings));
}
if (excludes != null) {
req.addAllExcludes(PBHelperClient.convert(excludes));
}
try {
return PBHelperClient.convertLocatedBlockProto(
rpcProxy.getAdditionalDatanode(null, req).getBlock());
rpcProxy.getAdditionalDatanode(null, req.build()).getBlock());
} catch (ServiceException e) {
throw ProtobufHelper.getRemoteException(e);
}