Description
When IOException in getFileInfoAll, we should return the mountTable informations instead of super information.
Code like:
// 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()); }