[
https://issues.apache.org/jira/browse/HDFS-14722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
xuzq updated HDFS-14722:
------------------------
Attachment: HDFS-14722-trunk-001.patch
> RBF: GetMountPointStatus should return mountTable information when
> getFileInfoAll throw IOException
> ---------------------------------------------------------------------------------------------------
>
> Key: HDFS-14722
> URL: https://issues.apache.org/jira/browse/HDFS-14722
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: rbf
> Reporter: xuzq
> Assignee: xuzq
> Priority: Major
> Attachments: HDFS-14722-trunk-001.patch
>
>
> When IOException in getFileInfoAll, we should return the mountTable
> informations instead of super information.
> Code like:
> {code:java}
> // RouterClientProtocol#getMountPointStatus
> try {
> String mName = name.startsWith("/") ? name : "/" + name;
> MountTableResolver mountTable = (MountTableResolver) subclusterResolver;
> MountTable entry = mountTable.getMountPoint(mName);
> if (entry != null) {
> RemoteMethod method = new RemoteMethod("getFileInfo",
> new Class<?>[] {String.class}, new RemoteParam());
> HdfsFileStatus fInfo = getFileInfoAll(
> entry.getDestinations(), method, mountStatusTimeOut);
> if (fInfo != null) {
> permission = fInfo.getPermission();
> owner = fInfo.getOwner();
> group = fInfo.getGroup();
> childrenNum = fInfo.getChildrenNum();
> } else {
> permission = entry.getMode();
> owner = entry.getOwnerName();
> group = entry.getGroupName();
> }
> }
> } catch (IOException e) {
> LOG.error("Cannot get mount point: {}", e.getMessage());
> }
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]