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 to...@apache.org on 2011/11/29 06:07:48 UTC

svn commit: r1207755 - in /hadoop/common/trunk/hadoop-mapreduce-project: ./ hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/ hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/...

Author: tomwhite
Date: Tue Nov 29 05:07:47 2011
New Revision: 1207755

URL: http://svn.apache.org/viewvc?rev=1207755&view=rev
Log:
MAPREDUCE-3433. Finding counters by legacy group name returns empty counters.

Added:
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java
      - copied, changed from r1207751, hadoop/common/trunk/hadoop-mapreduce-project/src/test/mapred/org/apache/hadoop/mapred/TestCounters.java
Removed:
    hadoop/common/trunk/hadoop-mapreduce-project/src/test/mapred/org/apache/hadoop/mapred/TestCounters.java
Modified:
    hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
    hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java

Modified: hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt?rev=1207755&r1=1207754&r2=1207755&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt Tue Nov 29 05:07:47 2011
@@ -189,6 +189,9 @@ Release 0.23.1 - Unreleased
     MAPREDUCE-3265. Removed debug logs during job submission to LOG.debug to
     cut down noise. (acmurthy) 
 
+    MAPREDUCE-3433. Finding counters by legacy group name returns empty
+    counters. (tomwhite)
+
 Release 0.23.0 - 2011-11-01 
 
   INCOMPATIBLE CHANGES

Modified: hadoop/common/trunk/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/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java?rev=1207755&r1=1207754&r2=1207755&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java Tue Nov 29 05:07:47 2011
@@ -194,15 +194,16 @@ public abstract class AbstractCounters<C
    * @return the group
    */
   public synchronized G getGroup(String groupName) {
-    boolean isFGroup = isFrameworkGroup(groupName);
-    G group = isFGroup ? fgroups.get(groupName) : groups.get(groupName);
+    String newGroupName = filterGroupName(groupName);
+    boolean isFGroup = isFrameworkGroup(newGroupName);
+    G group = isFGroup ? fgroups.get(newGroupName) : groups.get(newGroupName);
     if (group == null) {
-      group = groupFactory.newGroup(filterGroupName(groupName), limits);
+      group = groupFactory.newGroup(newGroupName, limits);
       if (isFGroup) {
-        fgroups.put(groupName, group);
+        fgroups.put(newGroupName, group);
       } else {
         limits.checkGroups(groups.size() + 1);
-        groups.put(groupName, group);
+        groups.put(newGroupName, group);
       }
     }
     return group;

Copied: hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java (from r1207751, hadoop/common/trunk/hadoop-mapreduce-project/src/test/mapred/org/apache/hadoop/mapred/TestCounters.java)
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java?p2=hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java&p1=hadoop/common/trunk/hadoop-mapreduce-project/src/test/mapred/org/apache/hadoop/mapred/TestCounters.java&r1=1207751&r2=1207755&rev=1207755&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-mapreduce-project/src/test/mapred/org/apache/hadoop/mapred/TestCounters.java (original)
+++ hadoop/common/trunk/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java Tue Nov 29 05:07:47 2011
@@ -17,16 +17,19 @@
  */
 package org.apache.hadoop.mapred;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import java.io.IOException;
 import java.text.ParseException;
 
+import org.apache.hadoop.mapreduce.JobCounter;
 import org.apache.hadoop.mapreduce.TaskCounter;
+import org.junit.Test;
 
 /**
  * TestCounters checks the sanity and recoverability of {@code Counters}
  */
-public class TestCounters extends TestCase {
+public class TestCounters {
   enum myCounters {TEST1, TEST2};
   private static final long MAX_VALUE = 10;
   
@@ -69,6 +72,7 @@ public class TestCounters extends TestCa
                  counter.hashCode(), recoveredCounter.hashCode());
   }
   
+  @Test
   public void testCounters() throws IOException {
     Enum[] keysWithResource = {TaskCounter.MAP_INPUT_RECORDS, 
                                TaskCounter.MAP_OUTPUT_BYTES};
@@ -92,6 +96,26 @@ public class TestCounters extends TestCa
     }
   }
   
+  @SuppressWarnings("deprecation")
+  @Test
+  public void testLegacyNames() {
+    Counters counters = new Counters();
+    counters.incrCounter(TaskCounter.MAP_INPUT_RECORDS, 1);
+    counters.incrCounter(JobCounter.DATA_LOCAL_MAPS, 1);
+    
+    assertEquals("New name", 1, counters.findCounter(
+        TaskCounter.class.getName(), "MAP_INPUT_RECORDS").getValue());
+    assertEquals("Legacy name", 1, counters.findCounter(
+        "org.apache.hadoop.mapred.Task$Counter",
+        "MAP_INPUT_RECORDS").getValue());
+
+    assertEquals("New name", 1, counters.findCounter(
+        JobCounter.class.getName(), "DATA_LOCAL_MAPS").getValue());
+    assertEquals("Legacy name", 1, counters.findCounter(
+        "org.apache.hadoop.mapred.JobInProgress$Counter",
+        "DATA_LOCAL_MAPS").getValue());
+  }
+  
   public static void main(String[] args) throws IOException {
     new TestCounters().testCounters();
   }