You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by vi...@apache.org on 2012/02/26 09:34:27 UTC
svn commit: r1293777 - in
/hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project: ./
hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/
hadoop-mapreduce-client/hadoop-mapreduce-client-jobcli...
Author: vinodkv
Date: Sun Feb 26 08:34:26 2012
New Revision: 1293777
URL: http://svn.apache.org/viewvc?rev=1293777&view=rev
Log:
MAPREDUCE-3686. Fixed two bugs in Counters because of which web app displays zero counter values for framework counters. Contributed by Bhallamudi Venkata Siva Kamesh.
svn merge --ignore-ancestry -c 1293775 ../../trunk
Modified:
hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/CHANGES.txt
hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java
hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java
hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java
Modified: hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/CHANGES.txt?rev=1293777&r1=1293776&r2=1293777&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/CHANGES.txt Sun Feb 26 08:34:26 2012
@@ -68,6 +68,10 @@ Release 0.23.2 - UNRELEASED
MAPREDUCE-3910. Fixed a bug in CapacityScheduler LeafQueue which was causing
app-submission to fail. (John George via vinodkv)
+
+ MAPREDUCE-3686. Fixed two bugs in Counters because of which web app displays
+ zero counter values for framework counters. (Bhallamudi Venkata Siva Kamesh
+ via vinodkv)
Release 0.23.1 - 2012-02-17
Modified: hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java?rev=1293777&r1=1293776&r2=1293777&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java (original)
+++ hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java Sun Feb 26 08:34:26 2012
@@ -326,12 +326,10 @@ public abstract class AbstractCounters<C
*/
public synchronized void incrAllCounters(AbstractCounters<C, G> other) {
for(G right : other) {
- G left = groups.get(right.getName());
+ String groupName = right.getName();
+ G left = (isFrameworkGroup(groupName) ? fgroups : groups).get(groupName);
if (left == null) {
- limits.checkGroups(groups.size() + 1);
- left = groupFactory.newGroup(right.getName(), right.getDisplayName(),
- limits);
- groups.put(right.getName(), left);
+ left = addGroup(groupName, right.getDisplayName());
}
left.incrAllCounters(right);
}
Modified: hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java?rev=1293777&r1=1293776&r2=1293777&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java (original)
+++ hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java Sun Feb 26 08:34:26 2012
@@ -107,6 +107,8 @@ public abstract class CounterGroupFactor
if (gf != null) return gf.newGroup(name);
if (name.equals(FS_GROUP_NAME)) {
return newFileSystemGroup();
+ } else if (s2i.get(name) != null) {
+ return newFrameworkGroup(s2i.get(name));
}
return newGenericGroup(name, displayName, limits);
}
Modified: hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java?rev=1293777&r1=1293776&r2=1293777&view=diff
==============================================================================
--- hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java (original)
+++ hadoop/common/branches/branch-0.23.2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java Sun Feb 26 08:34:26 2012
@@ -70,6 +70,29 @@ public class TestCounters {
testMaxGroups(new Counters());
}
}
+
+ @Test
+ public void testCountersIncrement() {
+ Counters fCounters = new Counters();
+ Counter fCounter = fCounters.findCounter(FRAMEWORK_COUNTER);
+ fCounter.setValue(100);
+ Counter gCounter = fCounters.findCounter("test", "foo");
+ gCounter.setValue(200);
+
+ Counters counters = new Counters();
+ counters.incrAllCounters(fCounters);
+ Counter counter;
+ for (CounterGroup cg : fCounters) {
+ CounterGroup group = counters.getGroup(cg.getName());
+ if (group.getName().equals("test")) {
+ counter = counters.findCounter("test", "foo");
+ assertEquals(200, counter.getValue());
+ } else {
+ counter = counters.findCounter(FRAMEWORK_COUNTER);
+ assertEquals(100, counter.getValue());
+ }
+ }
+ }
static final Enum<?> FRAMEWORK_COUNTER = TaskCounter.CPU_MILLISECONDS;
static final long FRAMEWORK_COUNTER_VALUE = 8;