You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by wa...@apache.org on 2013/10/12 01:13:13 UTC
svn commit: r1531460 - in
/hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs:
CHANGES-HDFS-4949.txt
src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java
Author: wang
Date: Fri Oct 11 23:13:13 2013
New Revision: 1531460
URL: http://svn.apache.org/r1531460
Log:
HDFS-5348. Fix error message when dfs.datanode.max.locked.memory is improperly configured. (Contributed by Colin Patrick McCabe)
Modified:
hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-4949.txt
hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java
Modified: hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-4949.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-4949.txt?rev=1531460&r1=1531459&r2=1531460&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-4949.txt (original)
+++ hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-4949.txt Fri Oct 11 23:13:13 2013
@@ -83,3 +83,6 @@ HDFS-4949 (Unreleased)
HDFS-5314. Do not expose CachePool type in AddCachePoolOp (Colin Patrick
McCabe)
+
+ HDFS-5348. Fix error message when dfs.datanode.max.locked.memory is
+ improperly configured. (Colin Patrick McCabe)
Modified: hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java?rev=1531460&r1=1531459&r2=1531460&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java (original)
+++ hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java Fri Oct 11 23:13:13 2013
@@ -753,7 +753,7 @@ public class DataNode extends Configured
if (dnConf.maxLockedMemory > ulimit) {
throw new RuntimeException(String.format(
"Cannot start datanode because the configured max locked memory" +
- " size (%s) of %d bytes is less than the datanode's available" +
+ " size (%s) of %d bytes is more than the datanode's available" +
" RLIMIT_MEMLOCK ulimit of %d bytes.",
DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
dnConf.maxLockedMemory,
Modified: hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java?rev=1531460&r1=1531459&r2=1531460&view=diff
==============================================================================
--- hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java (original)
+++ hadoop/common/branches/HDFS-4949/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDatanodeConfig.java Fri Oct 11 23:13:13 2013
@@ -114,25 +114,33 @@ public class TestDatanodeConfig {
public void testMemlockLimit() throws Exception {
assumeTrue(NativeIO.isAvailable());
final long memlockLimit = NativeIO.getMemlockLimit();
+
+ // Can't increase the memlock limit past the maximum.
+ assumeTrue(memlockLimit != Long.MAX_VALUE);
+
Configuration conf = cluster.getConfiguration(0);
- // Try starting the DN with limit configured to the ulimit
- conf.setLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
- memlockLimit);
- if (memlockLimit == Long.MAX_VALUE) {
- // Can't increase the memlock limit past the maximum.
- return;
- }
- DataNode dn = null;
- dn = DataNode.createDataNode(new String[]{}, conf);
- dn.shutdown();
- // Try starting the DN with a limit > ulimit
- conf.setLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
- memlockLimit+1);
+ long prevLimit = conf.
+ getLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
+ DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_DEFAULT);
try {
- dn = DataNode.createDataNode(new String[]{}, conf);
- } catch (RuntimeException e) {
- GenericTestUtils.assertExceptionContains(
- "less than the datanode's available RLIMIT_MEMLOCK", e);
+ // Try starting the DN with limit configured to the ulimit
+ conf.setLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
+ memlockLimit);
+ DataNode dn = null;
+ dn = DataNode.createDataNode(new String[]{}, conf);
+ dn.shutdown();
+ // Try starting the DN with a limit > ulimit
+ conf.setLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
+ memlockLimit+1);
+ try {
+ dn = DataNode.createDataNode(new String[]{}, conf);
+ } catch (RuntimeException e) {
+ GenericTestUtils.assertExceptionContains(
+ "more than the datanode's available RLIMIT_MEMLOCK", e);
+ }
+ } finally {
+ conf.setLong(DFSConfigKeys.DFS_DATANODE_MAX_LOCKED_MEMORY_KEY,
+ prevLimit);
}
}
}