hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Íñigo Goiri (Jira) <j...@apache.org>
Subject [jira] [Commented] (HDFS-14756) RBF: getQuotaUsage may ignore some folders
Date Wed, 21 Aug 2019 16:35:00 GMT

    [ https://issues.apache.org/jira/browse/HDFS-14756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912476#comment-16912476
] 

Íñigo Goiri commented on HDFS-14756:
------------------------------------

Thanks for the fix.
 [^HDFS-14756.002.patch] LGTM.
The failed unit tests are unrelated and already tracked.
+1

I'm guessing HDFS-14761 will have a similar fix.

> 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
>            Priority: Major
>         Attachments: HDFS-14756.001.patch, HDFS-14756.002.patch
>
>
> {{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: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message