HDFS-2390. dfsadmin -setBalancerBandwidth does not validate -ve value. Contributed by Gautam Gopalakrishnan.

This commit is contained in:
Harsh J 2015-08-27 16:22:48 +05:30
parent fdb56f74f3
commit 0bf285413f
3 changed files with 15 additions and 0 deletions

View File

@ -359,6 +359,9 @@ Release 2.8.0 - UNRELEASED
IMPROVEMENTS
HDFS-2390. dfsadmin -setBalancerBandwidth does not validate -ve value
(Gautam Gopalakrishnan via harsh)
HDFS-8821. Explain message "Operation category X is not supported
in state standby" (Gautam Gopalakrishnan via harsh)

View File

@ -851,6 +851,11 @@ public int setBalancerBandwidth(String[] argv, int idx) throws IOException {
return exitCode;
}
if (bandwidth < 0) {
System.err.println("Bandwidth should be a non-negative integer");
return exitCode;
}
FileSystem fs = getFS();
if (!(fs instanceof DistributedFileSystem)) {
System.err.println("FileSystem is " + fs.getUri());

View File

@ -192,6 +192,13 @@ public void testSetBalancerBandwidth() throws Exception {
assertOutputMatches(message + newLine + message + newLine);
}
@Test (timeout = 30000)
public void testSetNegativeBalancerBandwidth() throws Exception {
setUpHaCluster(false);
int exitCode = admin.run(new String[] {"-setBalancerBandwidth", "-10"});
assertEquals("Negative bandwidth value must fail the command", -1, exitCode);
}
@Test (timeout = 30000)
public void testMetaSave() throws Exception {
setUpHaCluster(false);