xuzq created HDFS-14722:
---------------------------

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


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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to