HDFS-5900. Cannot set cache pool limit of unlimited via CacheAdmin. Contributed by Andrew Wang.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1565841 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
d01158a498
commit
60eca33e83
|
@ -350,6 +350,9 @@ Release 2.4.0 - UNRELEASED
|
||||||
|
|
||||||
HDFS-5882. TestAuditLogs is flaky (jxiang via cmccabe)
|
HDFS-5882. TestAuditLogs is flaky (jxiang via cmccabe)
|
||||||
|
|
||||||
|
HDFS-5900. Cannot set cache pool limit of "unlimited" via CacheAdmin.
|
||||||
|
(wang)
|
||||||
|
|
||||||
Release 2.3.0 - UNRELEASED
|
Release 2.3.0 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -140,6 +140,18 @@ public class CacheAdmin extends Configured implements Tool {
|
||||||
return maxTtl;
|
return maxTtl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static Long parseLimitString(String limitString) {
|
||||||
|
Long limit = null;
|
||||||
|
if (limitString != null) {
|
||||||
|
if (limitString.equalsIgnoreCase("unlimited")) {
|
||||||
|
limit = CachePoolInfo.LIMIT_UNLIMITED;
|
||||||
|
} else {
|
||||||
|
limit = Long.parseLong(limitString);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
|
||||||
private static Expiration parseExpirationString(String ttlString)
|
private static Expiration parseExpirationString(String ttlString)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
Expiration ex = null;
|
Expiration ex = null;
|
||||||
|
@ -650,8 +662,8 @@ public class CacheAdmin extends Configured implements Tool {
|
||||||
info.setMode(new FsPermission(mode));
|
info.setMode(new FsPermission(mode));
|
||||||
}
|
}
|
||||||
String limitString = StringUtils.popOptionWithArgument("-limit", args);
|
String limitString = StringUtils.popOptionWithArgument("-limit", args);
|
||||||
if (limitString != null) {
|
Long limit = parseLimitString(limitString);
|
||||||
long limit = Long.parseLong(limitString);
|
if (limit != null) {
|
||||||
info.setLimit(limit);
|
info.setLimit(limit);
|
||||||
}
|
}
|
||||||
String maxTtlString = StringUtils.popOptionWithArgument("-maxTtl", args);
|
String maxTtlString = StringUtils.popOptionWithArgument("-maxTtl", args);
|
||||||
|
@ -726,8 +738,7 @@ public class CacheAdmin extends Configured implements Tool {
|
||||||
Integer mode = (modeString == null) ?
|
Integer mode = (modeString == null) ?
|
||||||
null : Integer.parseInt(modeString, 8);
|
null : Integer.parseInt(modeString, 8);
|
||||||
String limitString = StringUtils.popOptionWithArgument("-limit", args);
|
String limitString = StringUtils.popOptionWithArgument("-limit", args);
|
||||||
Long limit = (limitString == null) ?
|
Long limit = parseLimitString(limitString);
|
||||||
null : Long.parseLong(limitString);
|
|
||||||
String maxTtlString = StringUtils.popOptionWithArgument("-maxTtl", args);
|
String maxTtlString = StringUtils.popOptionWithArgument("-maxTtl", args);
|
||||||
Long maxTtl = null;
|
Long maxTtl = null;
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -469,6 +469,8 @@
|
||||||
</test-commands>
|
</test-commands>
|
||||||
<cleanup-commands>
|
<cleanup-commands>
|
||||||
<cache-admin-command>-removePool pool1</cache-admin-command>
|
<cache-admin-command>-removePool pool1</cache-admin-command>
|
||||||
|
<cache-admin-command>-removePool pool2</cache-admin-command>
|
||||||
|
<cache-admin-command>-removePool pool3</cache-admin-command>
|
||||||
</cleanup-commands>
|
</cleanup-commands>
|
||||||
<comparators>
|
<comparators>
|
||||||
<comparator>
|
<comparator>
|
||||||
|
@ -489,5 +491,33 @@
|
||||||
</comparator>
|
</comparator>
|
||||||
</comparators>
|
</comparators>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test> <!--Tested -->
|
||||||
|
<description>Testing setting pool unlimited limits</description>
|
||||||
|
<test-commands>
|
||||||
|
<cache-admin-command>-addPool pool1 -limit unlimited -owner andrew -group andrew</cache-admin-command>
|
||||||
|
<cache-admin-command>-addPool pool2 -limit 10 -owner andrew -group andrew</cache-admin-command>
|
||||||
|
<cache-admin-command>-modifyPool pool2 -limit unlimited</cache-admin-command>
|
||||||
|
<cache-admin-command>-listPools</cache-admin-command>
|
||||||
|
</test-commands>
|
||||||
|
<cleanup-commands>
|
||||||
|
<cache-admin-command>-removePool pool1</cache-admin-command>
|
||||||
|
<cache-admin-command>-removePool pool2</cache-admin-command>
|
||||||
|
</cleanup-commands>
|
||||||
|
<comparators>
|
||||||
|
<comparator>
|
||||||
|
<type>SubstringComparator</type>
|
||||||
|
<expected-output>Found 2 results</expected-output>
|
||||||
|
</comparator>
|
||||||
|
<comparator>
|
||||||
|
<type>SubstringComparator</type>
|
||||||
|
<expected-output>pool1 andrew andrew rwxr-xr-x unlimited never</expected-output>
|
||||||
|
</comparator>
|
||||||
|
<comparator>
|
||||||
|
<type>SubstringComparator</type>
|
||||||
|
<expected-output>pool2 andrew andrew rwxr-xr-x unlimited never</expected-output>
|
||||||
|
</comparator>
|
||||||
|
</comparators>
|
||||||
|
</test>
|
||||||
</tests>
|
</tests>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
Loading…
Reference in New Issue