[ 
https://issues.apache.org/jira/browse/HDFS-13845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16604434#comment-16604434
 ] 

Brahma Reddy Battula commented on HDFS-13845:
---------------------------------------------

[~hfyang20071] thanks for updating the patch.

can you rebase the patch and upload again.?

> RBF: The default MountTableResolver should fail resolving multi-destination 
> paths
> ---------------------------------------------------------------------------------
>
>                 Key: HDFS-13845
>                 URL: https://issues.apache.org/jira/browse/HDFS-13845
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: federation, hdfs
>    Affects Versions: 3.0.0, 3.1.0, 2.9.1
>            Reporter: yanghuafeng
>            Assignee: yanghuafeng
>            Priority: Major
>         Attachments: HDFS-13845.001.patch, HDFS-13845.002.patch, 
> HDFS-13845.003.patch, HDFS-13845.004.patch
>
>
> When we use the default MountTableResolver to resolve the path, we cannot get 
> the destination paths for the default DestinationOrder.HASH. 
> {code:java}
> // Some comments here
> private static PathLocation buildLocation(
>       ......
>     List<RemoteLocation> locations = new LinkedList<>();
>     for (RemoteLocation oneDst : entry.getDestinations()) {
>       String nsId = oneDst.getNameserviceId();
>       String dest = oneDst.getDest();
>       String newPath = dest;
>       if (!newPath.endsWith(Path.SEPARATOR) && !remainingPath.isEmpty()) {
>         newPath += Path.SEPARATOR;
>       }
>       newPath += remainingPath;
>       RemoteLocation remoteLocation = new RemoteLocation(nsId, newPath, path);
>       locations.add(remoteLocation);
>     }
>     DestinationOrder order = entry.getDestOrder();
>     return new PathLocation(srcPath, locations, order);
>   }
> {code}
> The default order will be hash, but the HashFirstResolver will not be invoked 
> to order the location.
> It is ambiguous for the MountTableResolver that we will see the HASH order in 
> the web ui for multi-destinations path but we cannot get the result.
> In my opinion, the MountTableResolver will be a simple resolver to implement 
> 1 to 1 not including the 1 to n destinations. So we should check the 
> buildLocation. If the entry has multi destinations, we should reject it.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
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