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 si...@apache.org on 2023/10/03 15:26:13 UTC
[hadoop] branch trunk updated: HDFS-17214. RBF: The Quota class' andByStorageType method res has an incorrect initial value. (#6135)
This is an automated email from the ASF dual-hosted git repository.
simbadzina 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 0cfffb30121 HDFS-17214. RBF: The Quota class' andByStorageType method res has an incorrect initial value. (#6135)
0cfffb30121 is described below
commit 0cfffb30121f4fb5f396d6bf4547f60eb75daa3b
Author: xiaojunxiang <65...@users.noreply.github.com>
AuthorDate: Tue Oct 3 23:26:03 2023 +0800
HDFS-17214. RBF: The Quota class' andByStorageType method res has an incorrect initial value. (#6135)
Co-authored-by: xiaojunxiang <xi...@kingsoft.com>
---
.../hdfs/server/federation/router/Quota.java | 2 +-
.../server/federation/router/TestRouterQuota.java | 30 ++++++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletion(-)
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 825118fed3c..8e984d65c33 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
@@ -347,7 +347,7 @@ public class Quota {
* @return true if bitwise AND by all storage type returns true, false otherwise.
*/
public static boolean andByStorageType(Predicate<StorageType> predicate) {
- boolean res = false;
+ boolean res = true;
for (StorageType type : StorageType.values()) {
res &= predicate.test(type);
}
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 aa3d5470561..3c5be3cf98d 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
@@ -31,6 +31,8 @@ import java.util.Collections;
import java.util.EnumSet;
import java.util.List;
import java.util.UUID;
+import java.util.Arrays;
+import java.util.function.Predicate;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CreateFlag;
@@ -1168,6 +1170,34 @@ public class TestRouterQuota {
assertEquals(0, quotaUsage.getSpaceConsumed());
}
+ @Test
+ public void testAndByStorageType() {
+ long[] typeQuota = new long[StorageType.values().length];
+ Arrays.fill(typeQuota, HdfsConstants.QUOTA_DONT_SET);
+
+ Predicate<StorageType> predicate = new Predicate<StorageType>() {
+ @Override
+ public boolean test(StorageType storageType) {
+ return typeQuota[storageType.ordinal()] == HdfsConstants.QUOTA_DONT_SET;
+ }
+ };
+
+ assertTrue(Quota.andByStorageType(predicate));
+
+ // This is a value to test for,
+ // as long as it is not equal to HdfsConstants.QUOTA_DONT_SET
+ typeQuota[0] = HdfsConstants.QUOTA_RESET;
+ assertFalse(Quota.andByStorageType(predicate));
+
+ Arrays.fill(typeQuota, HdfsConstants.QUOTA_DONT_SET);
+ typeQuota[1] = HdfsConstants.QUOTA_RESET;
+ assertFalse(Quota.andByStorageType(predicate));
+
+ Arrays.fill(typeQuota, HdfsConstants.QUOTA_DONT_SET);
+ typeQuota[typeQuota.length-1] = HdfsConstants.QUOTA_RESET;
+ assertFalse(Quota.andByStorageType(predicate));
+ }
+
/**
* Add three mount tables.
* /dir-1 --> ns0---/dir-1 [nsQuota, ssQuota]
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org