[ https://issues.apache.org/jira/browse/HDFS-14739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16946603#comment-16946603 ]
Jinglun commented on HDFS-14739: -------------------------------- The mount tables in TestDisableNameservices {quote}default ns ns0 M1:/dirns0 ns0->/dirns0 M2:/dirns1 ns1->/dirns1 {quote} This jira try to fix 2 cases: 1. If the default namespace or mount entry '/' is not set, listStatus(new Path("/")) will end with an IOException("No remote locations available"). 2. In RouterClientProtocl#821 a broken path is passed to getMountPointStatus(), and it will cause the wrong owner group and permission when list. HDFS-14867. [~ayushtkn] is right about TestDisableNameservices , the reason we catch the IOException in testDisabling() was because we disabled the default namespace ! But I'm a little confused with the part of changing testWithoutDisabling(). I'll repeat the reason in my words to make sure our understands are consistent. When listing "/", the MountTableResolver would return a PathLocation based on the default namespace. In testWithoutDisabling() *ns0 was enabled* so no exception is thrown. But in testDisabling() *ns0 was disabled,* the PathLocation based on ns0 would be excluded and an IOException("No remote locations available") was thrown. After our fix in this jira, the IOException won't be thrown anymore. That's why removing the catch part in testDisabling(). {quote}Seems there is no test for the second bug. HDFS-14867. Which handles the child path issue? {quote} TestRouterMountTable#testListWhenDisableDefaultMountTable() tests both the 2 cases. First it disables default NS and try to list "/base", if case 1 is not fix ed an IOException will be thrown. Then it verifys all the children's owners groups and permissions, if case 2 is not fixed our asserts will fail. > RBF: LS command for mount point shows wrong owner and permission information. > ----------------------------------------------------------------------------- > > Key: HDFS-14739 > URL: https://issues.apache.org/jira/browse/HDFS-14739 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: xuzq > Assignee: Jinglun > Priority: Major > Attachments: HDFS-14739-trunk-001.patch, HDFS-14739-trunk-002.patch, > HDFS-14739-trunk-003.patch, HDFS-14739-trunk-004.patch, > image-2019-08-16-17-15-50-614.png, image-2019-08-16-17-16-00-863.png, > image-2019-08-16-17-16-34-325.png > > > ||source||target namespace||destination||owner||group||permission|| > |/mnt|ns0|/mnt|mnt|mnt_group|755| > |/mnt/test1|ns1|/mnt/test1|mnt_test1|mnt_test1_group|755| > |/test1|ns1|/test1|test1|test1_group|755| > When do getListing("/mnt"), the owner of */mnt/test1* should be *mnt_test1* > instead of *test1* in result. > > And if the mount table as blew, we should support getListing("/mnt") instead > of throw IOException when dfs.federation.router.default.nameservice.enable is > false. > ||source||target namespace||destination||owner||group||permission|| > |/mnt/test1|ns0|/mnt/test1|test1|test1|755| > |/mnt/test2|ns1|/mnt/test2|test2|test2|755| > > -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org