From 388b2010ae0d2ac5d65b761cc397c72884a4aa10 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Tue, 17 May 2016 15:53:09 +0900 Subject: [PATCH] HDFS-10242. Cannot create space quota of zero. Contributed by Takashi Ohnishi. (cherry picked from commit 9fe5828f05accc6746cb08a43916f7557dac533a) (cherry picked from commit 7f03c1c90e3816b3957dbf121c6d7bc3ce07cabd) --- .../src/main/java/org/apache/hadoop/fs/QuotaUsage.java | 4 ++-- .../src/main/java/org/apache/hadoop/hdfs/DFSClient.java | 2 +- .../src/test/java/org/apache/hadoop/hdfs/TestQuota.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java index 9ffab2f8129..9ad6a286233 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/QuotaUsage.java @@ -296,7 +296,7 @@ public class QuotaUsage { quotaStr = formatSize(quota, hOption); quotaRem = formatSize(quota-fileAndDirectoryCount, hOption); } - if (spaceQuota > 0) { + if (spaceQuota >= 0) { spaceQuotaStr = formatSize(spaceQuota, hOption); spaceQuotaRem = formatSize(spaceQuota - spaceConsumed, hOption); } @@ -314,7 +314,7 @@ public class QuotaUsage { String quotaStr = QUOTA_NONE; String quotaRem = QUOTA_INF; - if (typeQuota > 0) { + if (typeQuota >= 0) { quotaStr = formatSize(typeQuota, hOption); quotaRem = formatSize(typeQuota - typeConsumed, hOption); } diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java index 36dcbd1adc0..cde89fb6407 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java @@ -2566,7 +2566,7 @@ public class DFSClient implements java.io.Closeable, RemotePeerFactory, if ((namespaceQuota <= 0 && namespaceQuota != HdfsConstants.QUOTA_DONT_SET && namespaceQuota != HdfsConstants.QUOTA_RESET) || - (storagespaceQuota <= 0 && + (storagespaceQuota < 0 && storagespaceQuota != HdfsConstants.QUOTA_DONT_SET && storagespaceQuota != HdfsConstants.QUOTA_RESET)) { throw new IllegalArgumentException("Invalid values for quota : " + diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java index aee3c460cee..6563dac76ac 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java @@ -63,7 +63,7 @@ public class TestQuota { throws Exception { int val = admin.run(args); if (expectEror) { - assertEquals(val, -1); + assertEquals(-1, val); } else { assertTrue(val>=0); } @@ -263,7 +263,7 @@ public class TestQuota { // 16a: set the quota of /test to be 0 args = new String[]{"-setQuota", "0", parent.toString()}; runCommand(admin, args, true); - runCommand(admin, true, "-setSpaceQuota", "0", args[2]); + runCommand(admin, false, "-setSpaceQuota", "0", args[2]); // 16b: set the quota of /test to be -1 args[1] = "-1";