HDFS-17031. Reduce some repeated codes in RouterRpcServer. (#5701). Contributed by Chengwei Wang.

Reviewed-by: Inigo Goiri <inigoiri@apache.org>
Reviewed-by: Simbarashe Dzinamarira <sdzinamarira@linkedin.com>
Signed-off-by: Ayush Saxena <ayushsaxena@apache.org>
This commit is contained in:
smarthan 2023-06-01 11:02:38 +08:00 committed by GitHub
parent f8b7ddf69c
commit 9f1e23cc67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 29 deletions

View File

@ -1830,18 +1830,8 @@ public class RouterRpcServer extends AbstractService implements ClientProtocol,
* @return If the path is in a read only mount point.
*/
private boolean isPathReadOnly(final String path) {
if (subclusterResolver instanceof MountTableResolver) {
try {
MountTableResolver mountTable = (MountTableResolver)subclusterResolver;
MountTable entry = mountTable.getMountPoint(path);
if (entry != null && entry.isReadOnly()) {
return true;
}
} catch (IOException e) {
LOG.error("Cannot get mount point", e);
}
}
return false;
MountTable entry = getMountTable(path);
return entry != null && entry.isReadOnly();
}
/**
@ -1940,18 +1930,8 @@ public class RouterRpcServer extends AbstractService implements ClientProtocol,
* @return If a path should be in all subclusters.
*/
boolean isPathAll(final String path) {
if (subclusterResolver instanceof MountTableResolver) {
try {
MountTableResolver mountTable = (MountTableResolver) subclusterResolver;
MountTable entry = mountTable.getMountPoint(path);
if (entry != null) {
return entry.isAll();
}
} catch (IOException e) {
LOG.error("Cannot get mount point", e);
}
}
return false;
MountTable entry = getMountTable(path);
return entry != null && entry.isAll();
}
/**
@ -1961,18 +1941,20 @@ public class RouterRpcServer extends AbstractService implements ClientProtocol,
* @return If a path should support failed subclusters.
*/
boolean isPathFaultTolerant(final String path) {
MountTable entry = getMountTable(path);
return entry != null && entry.isFaultTolerant();
}
private MountTable getMountTable(final String path){
if (subclusterResolver instanceof MountTableResolver) {
try {
MountTableResolver mountTable = (MountTableResolver) subclusterResolver;
MountTable entry = mountTable.getMountPoint(path);
if (entry != null) {
return entry.isFaultTolerant();
}
return mountTable.getMountPoint(path);
} catch (IOException e) {
LOG.error("Cannot get mount point", e);
}
}
return false;
return null;
}
/**