Browse Source

Revert "MAPREDUCE-6199. AbstractCounters are not reset completely on deserialization (adhoot via rkanter)"

This reverts commit f9341c1e2cffc4e3ac37cb7da4e535ca5c6d3913.
Junping Du 8 years ago
parent
commit
bf360da63f

+ 0 - 4
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);
       fgroups.put(group.getName(), group);
     }
     }
     int numGroups = WritableUtils.readVInt(in);
     int numGroups = WritableUtils.readVInt(in);
-    if (!groups.isEmpty()) {
-      groups.clear();
-      limits.reset();
-    }
     while (numGroups-- > 0) {
     while (numGroups-- > 0) {
       limits.checkGroups(groups.size() + 1);
       limits.checkGroups(groups.size() + 1);
       G group = groupFactory.newGenericGroup(
       G group = groupFactory.newGenericGroup(

+ 0 - 7
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;
     return firstViolation;
   }
   }
 
 
-  // This allows initialization of global settings and not for an instance
   public static synchronized void reset(Configuration conf) {
   public static synchronized void reset(Configuration conf) {
     isInited = false;
     isInited = false;
     init(conf);
     init(conf);
   }
   }
-
-  // This allows resetting of an instance to allow reuse
-  public synchronized void reset() {
-    totalCounters = 0;
-    firstViolation = null;
-  }
 }
 }

+ 1 - 38
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;
 package org.apache.hadoop.mapreduce;
 
 
-import java.io.IOException;
 import java.util.Random;
 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 org.junit.Test;
 import static org.junit.Assert.*;
 import static org.junit.Assert.*;
 
 
@@ -74,40 +70,7 @@ public class TestCounters {
       testMaxGroups(new Counters());
       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
   @Test
   public void testCountersIncrement() {
   public void testCountersIncrement() {
     Counters fCounters = new Counters();
     Counters fCounters = new Counters();