You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by to...@apache.org on 2012/03/15 01:32:16 UTC
svn commit: r1300798 - in /hadoop/common/branches/branch-1: CHANGES.txt
src/mapred/mapred-default.xml
src/mapred/org/apache/hadoop/mapred/Counters.java
src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java
Author: tomwhite
Date: Thu Mar 15 00:32:15 2012
New Revision: 1300798
URL: http://svn.apache.org/viewvc?rev=1300798&view=rev
Log:
MAPREDUCE-2835. Make per-job counter limits configurable.
Modified:
hadoop/common/branches/branch-1/CHANGES.txt
hadoop/common/branches/branch-1/src/mapred/mapred-default.xml
hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java
hadoop/common/branches/branch-1/src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java
Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1300798&r1=1300797&r2=1300798&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Thu Mar 15 00:32:15 2012
@@ -157,6 +157,8 @@ Release 1.1.0 - unreleased
HDFS-3075. Backport HADOOP-4885: Try to restore failed name-node storage
directories at checkpoint time. (Brandon Li via szetszwo)
+ MAPREDUCE-2835. Make per-job counter limits configurable. (tomwhite)
+
Release 1.0.2 - unreleased
NEW FEATURES
Modified: hadoop/common/branches/branch-1/src/mapred/mapred-default.xml
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/mapred/mapred-default.xml?rev=1300798&r1=1300797&r2=1300798&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/mapred/mapred-default.xml (original)
+++ hadoop/common/branches/branch-1/src/mapred/mapred-default.xml Thu Mar 15 00:32:15 2012
@@ -1233,13 +1233,36 @@
</description>
</property>
+<!-- end of node health script variables -->
+
<property>
- <name>mapreduce.job.counters.limit</name>
+ <name>mapreduce.job.counters.max</name>
<value>120</value>
<description>Limit on the number of counters allowed per job.
</description>
</property>
-<!-- end of node health script variables -->
+<property>
+ <name>mapreduce.job.counters.groups.max</name>
+ <value>50</value>
+ <description>Limit on the number of counter groups allowed per job.
+ </description>
+</property>
+
+<property>
+ <name>mapreduce.job.counters.counter.name.max</name>
+ <value>64</value>
+ <description>Limit on the length of counter names in jobs. Names
+ exceeding this limit will be truncated.
+ </description>
+</property>
+
+<property>
+ <name>mapreduce.job.counters.group.name.max</name>
+ <value>128</value>
+ <description>Limit on the length of counter group names in jobs. Names
+ exceeding this limit will be truncated.
+ </description>
+</property>
</configuration>
Modified: hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java?rev=1300798&r1=1300797&r2=1300798&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java (original)
+++ hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java Thu Mar 15 00:32:15 2012
@@ -59,18 +59,22 @@ public class Counters implements Writabl
private static char[] charsToEscape = {GROUP_OPEN, GROUP_CLOSE,
COUNTER_OPEN, COUNTER_CLOSE,
UNIT_OPEN, UNIT_CLOSE};
+ private static final JobConf conf = new JobConf();
/** limit on the size of the name of the group **/
- private static final int GROUP_NAME_LIMIT = 128;
+ private static final int GROUP_NAME_LIMIT =
+ conf.getInt("mapreduce.job.counters.group.name.max", 128);
/** limit on the size of the counter name **/
- private static final int COUNTER_NAME_LIMIT = 64;
+ private static final int COUNTER_NAME_LIMIT =
+ conf.getInt("mapreduce.job.counters.counter.name.max", 64);
- private static final JobConf conf = new JobConf();
/** limit on counters **/
public static int MAX_COUNTER_LIMIT =
- conf.getInt("mapreduce.job.counters.limit", 120);
+ conf.getInt("mapreduce.job.counters.limit", // deprecated in 0.23
+ conf.getInt("mapreduce.job.counters.max", 120));
/** the max groups allowed **/
- static final int MAX_GROUP_LIMIT = 50;
+ public static final int MAX_GROUP_LIMIT =
+ conf.getInt("mapreduce.job.counters.groups.max", 50);
/** the number of current counters**/
private int numCounters = 0;
Modified: hadoop/common/branches/branch-1/src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java?rev=1300798&r1=1300797&r2=1300798&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java (original)
+++ hadoop/common/branches/branch-1/src/test/org/apache/hadoop/mapred/TestUserDefinedCounters.java Thu Mar 15 00:32:15 2012
@@ -130,7 +130,7 @@ public class TestUserDefinedCounters ext
assertEquals(4,
runningJob.getCounters().getGroup("StringCounter")
.getCounter("MapRecords"));
- assertTrue(counters.getGroupNames().size() <= 51);
+ assertTrue(counters.getGroupNames().size() <= Counters.MAX_GROUP_LIMIT);
int i = 0;
while (counters.size() < Counters.MAX_COUNTER_LIMIT) {
counters.incrCounter("IncrCounter", "limit " + i, 2);