Jinglun commented on HDFS-14739:

Hi [~elgoiri] , here is how the IOException("No remote locations available") is 
thrown. We are using MountTableResolver in testDisabling(). The call trace is:
 # RouterClientProtocol.getListing()#752
 # RouterRpcServer.getLocationsForPath()#1498
 # MountTableResolver.getDestinationForPath()#392
 # MountTableResolver.lookupLocation()

The "/" couldn't be found by findDeepest() so the entry is null. Then because 
defaultNSEnabled=true the method returns a PathLocation based on the 

Then in RouterRpcServer.getLocationsForPath()#1526~1532 the default path is 
excluded because the default namespace has been disabled. In 
testWithoutDisabling() the path created by default namespace won't be excluded 
so there wasn't try catch there.


Before our change, it was throwing an IOException("No remote locations 
available") but the throwing behavior is what we fixed in this jira. So I 
thought we can remove the try catch.

> 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, 
> HDFS-14739-trunk-005.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

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