You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by in...@apache.org on 2019/08/21 16:40:06 UTC
[hadoop] branch trunk updated: HDFS-14756. RBF: getQuotaUsage may
ignore some folders. Contributed by Chen Zhang.
This is an automated email from the ASF dual-hosted git repository.
inigoiri pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 93595fe HDFS-14756. RBF: getQuotaUsage may ignore some folders. Contributed by Chen Zhang.
93595fe is described below
commit 93595febaa6673eea369911c3f7fcd75d4915dbc
Author: Inigo Goiri <in...@apache.org>
AuthorDate: Wed Aug 21 09:39:57 2019 -0700
HDFS-14756. RBF: getQuotaUsage may ignore some folders. Contributed by Chen Zhang.
---
.../org/apache/hadoop/hdfs/server/federation/router/Quota.java | 3 +--
.../hadoop/hdfs/server/federation/router/TestRouterQuota.java | 9 ++++++++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/Quota.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/Quota.java
index 0ac64a1..48f0b96 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/Quota.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/Quota.java
@@ -25,7 +25,6 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang3.StringUtils;
import org.apache.hadoop.fs.QuotaUsage;
import org.apache.hadoop.fs.StorageType;
import org.apache.hadoop.hdfs.protocol.ClientProtocol;
@@ -138,7 +137,7 @@ public class Quota {
boolean isChildPath = false;
for (RemoteLocation d : dests) {
- if (StringUtils.startsWith(loc.getDest(), d.getDest())) {
+ if (FederationUtil.isParentEntry(loc.getDest(), d.getDest())) {
isChildPath = true;
break;
}
diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterQuota.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterQuota.java
index 075e529..c3a5c17 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterQuota.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterQuota.java
@@ -332,9 +332,11 @@ public class TestRouterQuota {
// /getquota --> ns0---/testdir7
// /getquota/subdir1 --> ns0---/testdir7/subdir
// /getquota/subdir2 --> ns1---/testdir8
+ // /getquota/subdir3 --> ns1---/testdir8-ext
nnFs1.mkdirs(new Path("/testdir7"));
nnFs1.mkdirs(new Path("/testdir7/subdir"));
nnFs2.mkdirs(new Path("/testdir8"));
+ nnFs2.mkdirs(new Path("/testdir8-ext"));
MountTable mountTable1 = MountTable.newInstance("/getquota",
Collections.singletonMap("ns0", "/testdir7"));
mountTable1
@@ -350,11 +352,16 @@ public class TestRouterQuota {
Collections.singletonMap("ns1", "/testdir8"));
addMountTable(mountTable3);
+ MountTable mountTable4 = MountTable.newInstance("/getquota/subdir3",
+ Collections.singletonMap("ns1", "/testdir8-ext"));
+ addMountTable(mountTable4);
+
// use router client to create new files
DFSClient routerClient = routerContext.getClient();
routerClient.create("/getquota/file", true).close();
routerClient.create("/getquota/subdir1/file", true).close();
routerClient.create("/getquota/subdir2/file", true).close();
+ routerClient.create("/getquota/subdir3/file", true).close();
ClientProtocol clientProtocol = routerContext.getClient().getNamenode();
RouterQuotaUpdateService updateService = routerContext.getRouter()
@@ -362,7 +369,7 @@ public class TestRouterQuota {
updateService.periodicInvoke();
final QuotaUsage quota = clientProtocol.getQuotaUsage("/getquota");
// the quota should be aggregated
- assertEquals(6, quota.getFileAndDirectoryCount());
+ assertEquals(8, quota.getFileAndDirectoryCount());
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org