From 37b8cc3f190972c150b6fb1103d6b7a319b9bfc1 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 13 Dec 2011 22:59:49 +0000 Subject: [PATCH] MAPREDUCE-3542. Support "FileSystemCounter" legacy counter group name for compatibility. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1213971 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-mapreduce-project/CHANGES.txt | 3 +++ .../hadoop/mapreduce/counters/AbstractCounters.java | 1 + .../java/org/apache/hadoop/mapred/TestCounters.java | 11 +++++++++++ 3 files changed, 15 insertions(+) diff --git a/hadoop-mapreduce-project/CHANGES.txt b/hadoop-mapreduce-project/CHANGES.txt index 7edc98da35..b363e8027f 100644 --- a/hadoop-mapreduce-project/CHANGES.txt +++ b/hadoop-mapreduce-project/CHANGES.txt @@ -276,6 +276,9 @@ Release 0.23.1 - Unreleased MAPREDUCE-3537. Fix race condition in DefaultContainerExecutor which led to container localization occuring in wrong directories. (acmurthy) + MAPREDUCE-3542. Support "FileSystemCounter" legacy counter group name for + compatibility. (tomwhite) + Release 0.23.0 - 2011-11-01 INCOMPATIBLE CHANGES diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java index d7c12375b1..b09aaef793 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java @@ -76,6 +76,7 @@ enum GroupType { FRAMEWORK, FILESYSTEM }; TaskCounter.class.getName()); legacyMap.put("org.apache.hadoop.mapred.JobInProgress$Counter", JobCounter.class.getName()); + legacyMap.put("FileSystemCounter", FileSystemCounter.class.getName()); } private final Limits limits = new Limits(); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java index 4ce1c8159d..bdd5bed4f3 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapred/TestCounters.java @@ -22,6 +22,8 @@ import java.io.IOException; import java.text.ParseException; +import org.apache.hadoop.mapred.Counters.Counter; +import org.apache.hadoop.mapreduce.FileSystemCounter; import org.apache.hadoop.mapreduce.JobCounter; import org.apache.hadoop.mapreduce.TaskCounter; import org.junit.Test; @@ -102,6 +104,7 @@ public void testLegacyNames() { Counters counters = new Counters(); counters.incrCounter(TaskCounter.MAP_INPUT_RECORDS, 1); counters.incrCounter(JobCounter.DATA_LOCAL_MAPS, 1); + counters.findCounter("file", FileSystemCounter.BYTES_READ).increment(1); assertEquals("New name", 1, counters.findCounter( TaskCounter.class.getName(), "MAP_INPUT_RECORDS").getValue()); @@ -114,6 +117,14 @@ public void testLegacyNames() { assertEquals("Legacy name", 1, counters.findCounter( "org.apache.hadoop.mapred.JobInProgress$Counter", "DATA_LOCAL_MAPS").getValue()); + + assertEquals("New name", 1, counters.findCounter( + FileSystemCounter.class.getName(), "FILE_BYTES_READ").getValue()); + assertEquals("New name and method", 1, counters.findCounter("file", + FileSystemCounter.BYTES_READ).getValue()); + assertEquals("Legacy name", 1, counters.findCounter( + "FileSystemCounter", + "FILE_BYTES_READ").getValue()); } public static void main(String[] args) throws IOException {