[ https://issues.apache.org/jira/browse/HDFS-13233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387202#comment-16387202 ]
Íñigo Goiri commented on HDFS-13233: ------------------------------------ Thanks [~striver.wang] for the report and the fix. I would probably make the full condition a private function for readability. Please double check as I haven't gone through it carefully but I would do something like: {code} while (entry != null && isParentEntry(path, entry.getKey())) { ... private boolean isParentEntry(final String path, final String parent) { if (!path.startsWith(parent)) { return false; } if (path.equals(parent)) { return true; } return path.charAt(entry.getKey().length()) == '/'; } {code} I would also add checks to avoid having the catch for {{StringIndexOutOfBoundsException}}. > RBF:getMountPoint doesn't return the correct mount point of the mount table > --------------------------------------------------------------------------- > > Key: HDFS-13233 > URL: https://issues.apache.org/jira/browse/HDFS-13233 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs > Affects Versions: 3.2.0 > Reporter: wangzhiyuan > Priority: Major > Attachments: HDFS-13233.001.patch > > > Method MountTableResolver->getMountPoint will traverse mount table and return > the first mount point which the input path starts with, but the condition is > not sufficient. > Suppose the mount point table contains: "/user" "/user/test" "/user/test1", > if the input path is "/user/test111", the return mount point is > "/user/test1", but the correct one should be "/user". -- 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