You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ss...@apache.org on 2012/08/22 00:45:48 UTC
svn commit: r1375835 - in /hadoop/common/branches/branch-1: CHANGES.txt
src/mapred/org/apache/hadoop/mapred/Counters.java
src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java
Author: sseth
Date: Tue Aug 21 22:45:48 2012
New Revision: 1375835
URL: http://svn.apache.org/viewvc?rev=1375835&view=rev
Log:
MAPREDUCE-4565. Backport MR-2855 to branch-1: ResourceBundle lookup during counter name resolution takes a lot of time. (Contributed by Karthik Kambatla)
Modified:
hadoop/common/branches/branch-1/CHANGES.txt
hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java
hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java
Modified: hadoop/common/branches/branch-1/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/CHANGES.txt?rev=1375835&r1=1375834&r2=1375835&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/CHANGES.txt (original)
+++ hadoop/common/branches/branch-1/CHANGES.txt Tue Aug 21 22:45:48 2012
@@ -84,6 +84,9 @@ Release 1.2.0 - unreleased
MAPREDUCE-4511. Add IFile readahead (ahmed via tucu)
+ MAPREDUCE-4565. Backport MR-2855 to branch-1: ResourceBundle lookup during
+ counter name resolution takes a lot of time. (Karthik Kambatla via sseth)
+
OPTIMIZATIONS
HDFS-2533. Backport: Remove needless synchronization on some FSDataSet
Modified: hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java?rev=1375835&r1=1375834&r2=1375835&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java (original)
+++ hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapred/Counters.java Tue Aug 21 22:45:48 2012
@@ -36,6 +36,7 @@ import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableUtils;
+import org.apache.hadoop.mapreduce.CounterGroup;
import org.apache.hadoop.util.StringUtils;
/**
@@ -167,7 +168,7 @@ public class Counters implements Writabl
Group(String groupName) {
try {
- bundle = getResourceBundle(groupName);
+ bundle = CounterGroup.getResourceBundle(groupName);
}
catch (MissingResourceException neverMind) {
}
@@ -385,15 +386,6 @@ public class Counters implements Writabl
private Map<Enum, Counter> cache = new IdentityHashMap<Enum, Counter>();
/**
- * Returns the specified resource bundle, or throws an exception.
- * @throws MissingResourceException if the bundle isn't found
- */
- private static ResourceBundle getResourceBundle(String enumClassName) {
- String bundleName = enumClassName.replace('$','_');
- return ResourceBundle.getBundle(bundleName);
- }
-
- /**
* Returns the names of all counter classes.
* @return Set of counter names.
*/
Modified: hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java?rev=1375835&r1=1375834&r2=1375835&view=diff
==============================================================================
--- hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java (original)
+++ hadoop/common/branches/branch-1/src/mapred/org/apache/hadoop/mapreduce/CounterGroup.java Tue Aug 21 22:45:48 2012
@@ -22,10 +22,12 @@ import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.util.Iterator;
+import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.TreeMap;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
import org.apache.hadoop.io.WritableUtils;
@@ -45,9 +47,12 @@ public class CounterGroup implements Wri
* Returns the specified resource bundle, or throws an exception.
* @throws MissingResourceException if the bundle isn't found
*/
- private static ResourceBundle getResourceBundle(String enumClassName) {
+ @Private
+ public static ResourceBundle getResourceBundle(String enumClassName)
+ throws MissingResourceException {
String bundleName = enumClassName.replace('$','_');
- return ResourceBundle.getBundle(bundleName);
+ return ResourceBundle.getBundle(bundleName, Locale.getDefault(), Thread
+ .currentThread().getContextClassLoader());
}
protected CounterGroup(String name) {