[
https://issues.apache.org/jira/browse/HDFS-17509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17845922#comment-17845922
]
ASF GitHub Bot commented on HDFS-17509:
---------------------------------------
LiuGuH commented on code in PR #6784:
URL: https://github.com/apache/hadoop/pull/6784#discussion_r1598472326
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterRpc.java:
##########
@@ -1224,6 +1239,26 @@ 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
+ createFile(routerFS, existingFile, existingFileSize);
+ String sameRouterEmptyFile =
+ cluster.getFederatedTestDirectoryForNS(sameNameservice) +
+ "_newemptyfile";
+ createFile(routerFS, sameRouterEmptyFile, 0);
+ // Concat in same namespaces, succeeds
+ testConcat(existingFile, sameRouterEmptyFile, false);
+ FileStatus mergedStatus = getFileStatus(routerFS, sameRouterEmptyFile);
+ assertEquals(existingFileSize, mergedStatus.getLen());
+
+ // Test when concat srclist has some empty file, namenode will throw
IOException.
+ String srcEmptyFile =
cluster.getFederatedTestDirectoryForNS(sameNameservice) + "_srcEmptyFile";
+ createFile(routerFS, srcEmptyFile, 0);
+ String targetFile =
cluster.getFederatedTestDirectoryForNS(sameNameservice) + "_targetFile";
+ createFile(routerFS, targetFile, existingFileSize);
+ // Concat in same namespaces, succeeds
+ testConcat(srcEmptyFile, targetFile, true, true,
Review Comment:
Done. Thanks
> 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]