[ https://issues.apache.org/jira/browse/HDFS-13845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16602258#comment-16602258 ]
Brahma Reddy Battula commented on HDFS-13845: --------------------------------------------- Patch lgtm. Apart from the check-style comments. Bytheway,It's nice catch. FYI. HDFS-13857 might need to rebase after this committed.( if this goes first). As both throws IOE on same method. {code:java} + public PathLocation lookupLocation(final String path) throws IOException { {code} > 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 > > > 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