[ 
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

Reply via email to