Chen Zhang created HDFS-14756:
---------------------------------
Summary: RBF: getQuotaUsage may ignore some folders
Key: HDFS-14756
URL: https://issues.apache.org/jira/browse/HDFS-14756
Project: Hadoop HDFS
Issue Type: Sub-task
Reporter: Chen Zhang
Assignee: Chen Zhang
{{getValidQuotaLocations}} want to filter duplicate subfolders, but it used
wrong method to determine the parent folder. In this logic, if we have 2
mountpoint like /miui and /miuiads, then /miuiads will be ignored.
{code:java}
private List<RemoteLocation> getValidQuotaLocations(String path)
throws IOException {
final List<RemoteLocation> locations = getQuotaRemoteLocations(path);
// NameService -> Locations
ListMultimap<String, RemoteLocation> validLocations =
ArrayListMultimap.create();
for (RemoteLocation loc : locations) {
final String nsId = loc.getNameserviceId();
final Collection<RemoteLocation> dests = validLocations.get(nsId);
// Ensure the paths in the same nameservice is different.
// Do not include parent-child paths.
boolean isChildPath = false;
for (RemoteLocation d : dests) {
if (StringUtils.startsWith(loc.getDest(), d.getDest())) {
isChildPath = true;
break;
}
}
if (!isChildPath) {
validLocations.put(nsId, loc);
}
}
return Collections
.unmodifiableList(new ArrayList<>(validLocations.values()));
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]