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 ji...@apache.org on 2012/08/22 20:44:44 UTC
svn commit: r1376185 - in
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs: CHANGES.txt
src/main/java/org/apache/hadoop/hdfs/DFSUtil.java
src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java
Author: jitendra
Date: Wed Aug 22 18:44:44 2012
New Revision: 1376185
URL: http://svn.apache.org/viewvc?rev=1376185&view=rev
Log:
HDFS-3819. Should check whether invalidate work percentage default value is not greater than 1.0f. Contributed by Jing Zhao.
Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1376185&r1=1376184&r2=1376185&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Wed Aug 22 18:44:44 2012
@@ -123,6 +123,9 @@ Trunk (unreleased changes)
HDFS-3817. Avoid printing SafeModeException stack trace.
(Brandon Li via suresh)
+ HDFS-3819. Should check whether invalidate work percentage default value is
+ not greater than 1.0f. (Jing Zhao via jitendra)
+
OPTIMIZATIONS
BUG FIXES
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java?rev=1376185&r1=1376184&r2=1376185&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSUtil.java Wed Aug 22 18:44:44 2012
@@ -1156,11 +1156,11 @@ public class DFSUtil {
DFSConfigKeys.DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION,
DFSConfigKeys.DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION_DEFAULT);
Preconditions.checkArgument(
- (blocksInvalidateWorkPct > 0),
+ (blocksInvalidateWorkPct > 0 && blocksInvalidateWorkPct <= 1.0f),
DFSConfigKeys.DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION +
" = '" + blocksInvalidateWorkPct + "' is invalid. " +
- "It should be a positive, non-zero float value " +
- "indicating a percentage.");
+ "It should be a positive, non-zero float value, not greater than 1.0f, " +
+ "to indicate a percentage.");
return blocksInvalidateWorkPct;
}
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java?rev=1376185&r1=1376184&r2=1376185&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestReplicationPolicy.java Wed Aug 22 18:44:44 2012
@@ -642,10 +642,10 @@ public class TestReplicationPolicy {
}
/**
- * This testcase tests whether the defaultvalue returned by
+ * This testcase tests whether the default value returned by
* DFSUtil.getInvalidateWorkPctPerIteration() is positive,
* and whether an IllegalArgumentException will be thrown
- * when a non-positive value is retrieved
+ * when 0.0f is retrieved
*/
@Test
public void testGetInvalidateWorkPctPerIteration() {
@@ -660,7 +660,48 @@ public class TestReplicationPolicy {
assertEquals(blocksInvalidateWorkPct, 0.5f, blocksInvalidateWorkPct * 1e-7);
conf.set(DFSConfigKeys.
- DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION, "0.0");
+ DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION, "1.0f");
+ blocksInvalidateWorkPct = DFSUtil.getInvalidateWorkPctPerIteration(conf);
+ assertEquals(blocksInvalidateWorkPct, 1.0f, blocksInvalidateWorkPct * 1e-7);
+
+ conf.set(DFSConfigKeys.
+ DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION, "0.0f");
+ exception.expect(IllegalArgumentException.class);
+ blocksInvalidateWorkPct = DFSUtil.getInvalidateWorkPctPerIteration(conf);
+ }
+
+ /**
+ * This testcase tests whether an IllegalArgumentException
+ * will be thrown when a negative value is retrieved by
+ * DFSUtil#getInvalidateWorkPctPerIteration
+ */
+ @Test
+ public void testGetInvalidateWorkPctPerIteration_NegativeValue() {
+ Configuration conf = new Configuration();
+ float blocksInvalidateWorkPct = DFSUtil
+ .getInvalidateWorkPctPerIteration(conf);
+ assertTrue(blocksInvalidateWorkPct > 0);
+
+ conf.set(DFSConfigKeys.
+ DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION, "-0.5f");
+ exception.expect(IllegalArgumentException.class);
+ blocksInvalidateWorkPct = DFSUtil.getInvalidateWorkPctPerIteration(conf);
+ }
+
+ /**
+ * This testcase tests whether an IllegalArgumentException
+ * will be thrown when a value greater than 1 is retrieved by
+ * DFSUtil#getInvalidateWorkPctPerIteration
+ */
+ @Test
+ public void testGetInvalidateWorkPctPerIteration_GreaterThanOne() {
+ Configuration conf = new Configuration();
+ float blocksInvalidateWorkPct = DFSUtil
+ .getInvalidateWorkPctPerIteration(conf);
+ assertTrue(blocksInvalidateWorkPct > 0);
+
+ conf.set(DFSConfigKeys.
+ DFS_NAMENODE_INVALIDATE_WORK_PCT_PER_ITERATION, "1.5f");
exception.expect(IllegalArgumentException.class);
blocksInvalidateWorkPct = DFSUtil.getInvalidateWorkPctPerIteration(conf);
}