Repository: hadoop
Updated Branches:
refs/heads/branch-2 d260478d3 -> 907abdca7
HDFS-8711. setSpaceQuota command should print the available storage type when
input storage type is wrong. Contributed by Brahma Reddy Battula.
(cherry picked from commit b68701b7b2a9597b4183e0ba19b1551680d543a1)
Conflicts:
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/907abdca
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/907abdca
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/907abdca
Branch: refs/heads/branch-2
Commit: 907abdca73809b80c473a6fb70f4d9c6f83b7423
Parents: d260478
Author: Xiaoyu Yao <[email protected]>
Authored: Tue Jul 7 13:50:49 2015 -0700
Committer: Vinayakumar B <[email protected]>
Committed: Wed Jul 8 16:25:47 2015 +0530
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ---
.../org/apache/hadoop/hdfs/tools/DFSAdmin.java | 10 ++++++++--
.../java/org/apache/hadoop/hdfs/TestQuota.java | 21 ++++++++++++++++++++
3 files changed, 29 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/907abdca/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index e12c156..ac5887f 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -362,15 +362,12 @@ Release 2.8.0 - UNRELEASED
HDFS-8709. Clarify automatic sync in FSEditLog#logEdit. (wang)
-<<<<<<< HEAD
-=======
HDFS-8711. setSpaceQuota command should print the available storage type
when input storage type is wrong. (Brahma Reddy Battula via xyao)
HDFS-8620. Clean up the checkstyle warinings about ClientProtocol.
(Takanobu Asanuma via wheat9)
->>>>>>> c0b8e4e... HDFS-8620. Clean up the checkstyle warinings about
ClientProtocol. Contributed by Takanobu Asanuma.
OPTIMIZATIONS
HDFS-8026. Trace FSOutputSummer#writeChecksumChunks rather than
http://git-wip-us.apache.org/repos/asf/hadoop/blob/907abdca/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
index 9305c5d..6f7d8bf 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
@@ -291,9 +291,15 @@ public class DFSAdmin extends FsShell {
String storageTypeString =
StringUtils.popOptionWithArgument("-storageType", parameters);
if (storageTypeString != null) {
- this.type = StorageType.parseStorageType(storageTypeString);
+ try {
+ this.type = StorageType.parseStorageType(storageTypeString);
+ } catch (IllegalArgumentException e) {
+ throw new IllegalArgumentException("Storage type "
+ + storageTypeString
+ + " is not available. Available storage types are "
+ + StorageType.getTypesSupportingQuota());
+ }
}
-
this.args = parameters.toArray(new String[parameters.size()]);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/907abdca/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestQuota.java
----------------------------------------------------------------------
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 bb182d1..f41893b 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
@@ -17,17 +17,21 @@
*/
package org.apache.hadoop.hdfs;
+import static
org.apache.hadoop.fs.CommonConfigurationKeysPublic.FS_DEFAULT_NAME_KEY;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
+import java.io.PrintStream;
import java.security.PrivilegedExceptionAction;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.ContentSummary;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.fs.StorageType;
import org.apache.hadoop.hdfs.client.HdfsClientConfigKeys;
import org.apache.hadoop.hdfs.protocol.DSQuotaExceededException;
import org.apache.hadoop.hdfs.protocol.HdfsConstants;
@@ -40,6 +44,8 @@ import org.apache.hadoop.security.UserGroupInformation;
import org.junit.Assert;
import org.junit.Test;
+import com.google.common.base.Charsets;
+
/** A class for testing quota-related commands */
public class TestQuota {
@@ -922,4 +928,19 @@ public class TestQuota {
cluster.shutdown();
}
}
+
+ @Test
+ public void testSetSpaceQuotaWhenStorageTypeIsWrong() throws Exception {
+ Configuration conf = new HdfsConfiguration();
+ conf.set(FS_DEFAULT_NAME_KEY, "hdfs://127.0.0.1:8020");
+ DFSAdmin admin = new DFSAdmin(conf);
+ ByteArrayOutputStream err = new ByteArrayOutputStream();
+ System.setErr(new PrintStream(err));
+ String[] args = { "-setSpaceQuota", "100", "-storageType", "COLD",
+ "/testDir" };
+ admin.run(args);
+ String errOutput = new String(err.toByteArray(), Charsets.UTF_8);
+ assertTrue(errOutput.contains(StorageType.getTypesSupportingQuota()
+ .toString()));
+ }
}