Revert "MAPREDUCE-6199. AbstractCounters are not reset completely on deserialization (adhoot via rkanter)"
This reverts commit 390a7c12f543b2c94a74f08d6d2a28410472043a. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/713349a9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/713349a9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/713349a9 Branch: refs/heads/YARN-5734 Commit: 713349a9af4654dad4d4c372454552bfd063ca5f Parents: e15f928 Author: Junping Du <[email protected]> Authored: Fri Jul 28 14:21:04 2017 -0700 Committer: Junping Du <[email protected]> Committed: Fri Jul 28 14:21:04 2017 -0700 ---------------------------------------------------------------------- .../mapreduce/counters/AbstractCounters.java | 4 -- .../hadoop/mapreduce/counters/Limits.java | 7 ---- .../apache/hadoop/mapreduce/TestCounters.java | 39 +------------------- 3 files changed, 1 insertion(+), 49 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/713349a9/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java ---------------------------------------------------------------------- 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 e6e74da..4ab7e89 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 @@ -307,10 +307,6 @@ public abstract class AbstractCounters<C extends Counter, fgroups.put(group.getName(), group); } int numGroups = WritableUtils.readVInt(in); - if (!groups.isEmpty()) { - groups.clear(); - limits.reset(); - } while (numGroups-- > 0) { limits.checkGroups(groups.size() + 1); G group = groupFactory.newGenericGroup( http://git-wip-us.apache.org/repos/asf/hadoop/blob/713349a9/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/Limits.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/Limits.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/Limits.java index 9546c8d..3821694 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/Limits.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/counters/Limits.java @@ -124,15 +124,8 @@ public class Limits { return firstViolation; } - // This allows initialization of global settings and not for an instance public static synchronized void reset(Configuration conf) { isInited = false; init(conf); } - - // This allows resetting of an instance to allow reuse - public synchronized void reset() { - totalCounters = 0; - firstViolation = null; - } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/713349a9/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java ---------------------------------------------------------------------- diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java index 0215568..83d689c 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/TestCounters.java @@ -17,12 +17,8 @@ */ package org.apache.hadoop.mapreduce; -import java.io.IOException; import java.util.Random; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.io.DataInputBuffer; -import org.apache.hadoop.io.DataOutputBuffer; import org.junit.Test; import static org.junit.Assert.*; @@ -74,40 +70,7 @@ public class TestCounters { testMaxGroups(new Counters()); } } - - @Test public void testResetOnDeserialize() throws IOException { - // Allow only one counterGroup - Configuration conf = new Configuration(); - conf.setInt(MRJobConfig.COUNTER_GROUPS_MAX_KEY, 1); - Limits.init(conf); - - Counters countersWithOneGroup = new Counters(); - countersWithOneGroup.findCounter("firstOf1Allowed", "First group"); - boolean caughtExpectedException = false; - try { - countersWithOneGroup.findCounter("secondIsTooMany", "Second group"); - } - catch (LimitExceededException _) { - caughtExpectedException = true; - } - - assertTrue("Did not throw expected exception", - caughtExpectedException); - - Counters countersWithZeroGroups = new Counters(); - DataOutputBuffer out = new DataOutputBuffer(); - countersWithZeroGroups.write(out); - - DataInputBuffer in = new DataInputBuffer(); - in.reset(out.getData(), out.getLength()); - - countersWithOneGroup.readFields(in); - - // After reset one should be able to add a group - countersWithOneGroup.findCounter("firstGroupAfterReset", "After reset " + - "limit should be set back to zero"); - } - + @Test public void testCountersIncrement() { Counters fCounters = new Counters(); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
