[
https://issues.apache.org/jira/browse/HDFS-17509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17845576#comment-17845576
]
ASF GitHub Bot commented on HDFS-17509:
---------------------------------------
ZanderXu commented on code in PR #6784:
URL: https://github.com/apache/hadoop/pull/6784#discussion_r1597413470
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterRpc.java:
##########
@@ -1224,6 +1224,17 @@ public void testProxyConcatFile() throws Exception {
String badPath = "/unknownlocation/unknowndir";
compareResponses(routerProtocol, nnProtocol, m,
new Object[] {badPath, new String[] {routerFile}});
+
+ // Test when concat trg is a empty file
Review Comment:
Can you modify the UT to cover the case that one or more source files are
empty?
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/RouterClientProtocol.java:
##########
@@ -1009,6 +1000,20 @@ public HdfsFileStatus getFileInfo(String src) throws
IOException {
return ret;
}
+ public RemoteResult<RemoteLocation, HdfsFileStatus>
getFileRemoteResult(String path)
+ throws IOException {
+ rpcServer.checkOperation(NameNode.OperationCategory.READ);
+
+ final List<RemoteLocation> locations = rpcServer.getLocationsForPath(path,
false, false);
+ RemoteMethod method =
+ new RemoteMethod("getFileInfo", new Class<?>[] {String.class}, new
RemoteParam());
+ // Check for file information sequentially
+ RemoteResult<RemoteLocation, HdfsFileStatus> result =
Review Comment:
RBF is simply responsible for locating the downstream namespace and then
proxying the request.
So if the input path is only mounted to one namespace, RBF only needs to
proxy it directly. RBF does not need to check if the file exists in this only
one downstream namespace, right?
> RBF: Fix ClientProtocol.concat will throw NPE if tgr is a empty file.
> ----------------------------------------------------------------------
>
> Key: HDFS-17509
> URL: https://issues.apache.org/jira/browse/HDFS-17509
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: liuguanghua
> Priority: Minor
> Labels: pull-request-available
>
> hdfs dfs -concat /tmp/merge /tmp/t1 /tmp/t2
> When /tmp/merge is a empty file, this command will throw NPE via DFSRouter.
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]