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 om...@apache.org on 2011/03/08 06:55:27 UTC
svn commit: r1079204 - in
/hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters:
AbstractCounters.java CounterGroupFactory.java FileSystemCounterGroup.java
Author: omalley
Date: Tue Mar 8 05:55:26 2011
New Revision: 1079204
URL: http://svn.apache.org/viewvc?rev=1079204&view=rev
Log:
commit 2ccbccfe43e8c9c1eae3c379120d137594ea42be
Author: Luke Lu <ll...@yahoo-inc.com>
Date: Tue Dec 7 03:26:12 2010 -0800
Fix filesystem counters
Modified:
hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java
hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java
hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java
Modified: hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java?rev=1079204&r1=1079203&r2=1079204&view=diff
==============================================================================
--- hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java (original)
+++ hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/AbstractCounters.java Tue Mar 8 05:55:26 2011
@@ -114,11 +114,12 @@ public abstract class AbstractCounters<C
*/
@InterfaceAudience.Private
public synchronized G addGroup(G group) {
- if (isFrameworkGroup(group)) {
- fgroups.put(group.getName(), group);
+ String name = group.getName();
+ if (isFrameworkGroup(name)) {
+ fgroups.put(name, group);
} else {
- groupFactory.limits().checkGroups(groups.size() + 1);
- groups.put(group.getName(), group);
+ limits.checkGroups(groups.size() + 1);
+ groups.put(name, group);
}
return group;
}
Modified: hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java?rev=1079204&r1=1079203&r2=1079204&view=diff
==============================================================================
--- hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java (original)
+++ hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/CounterGroupFactory.java Tue Mar 8 05:55:26 2011
@@ -50,6 +50,7 @@ public abstract class CounterGroupFactor
private static final Map<String, Integer> s2i = Maps.newHashMap();
private static final List<String> i2s = Lists.newArrayList();
private static final int VERSION = 1;
+ private static final String FS_GROUP_NAME = FileSystemCounter.class.getName();
private final Map<String, FrameworkGroupFactory<G>> fmap = Maps.newHashMap();
{
@@ -104,7 +105,7 @@ public abstract class CounterGroupFactor
public G newGroup(String name, String displayName, Limits limits) {
FrameworkGroupFactory<G> gf = fmap.get(name);
if (gf != null) return gf.newGroup(name);
- if (name.equals(FileSystemCounter.class.getName())) {
+ if (name.equals(FS_GROUP_NAME)) {
return newFileSystemGroup();
}
return newGenericGroup(name, displayName, limits);
@@ -145,21 +146,14 @@ public abstract class CounterGroupFactor
}
/**
- * Check whether a group name is a name of a framework group
+ * Check whether a group name is a name of a framework group (including
+ * the filesystem group).
+ *
* @param name to check
* @return true for framework group names
*/
public static synchronized boolean isFrameworkGroup(String name) {
- return s2i.get(name) != null;
- }
-
- /**
- * Check whether a group object is name of a framework group
- * @param group object to check
- * @return true for framework groups
- */
- public static boolean isFrameworkGroup(CounterGroupBase<?> group) {
- return isFrameworkGroup(group.getName());
+ return s2i.get(name) != null || name.equals(FS_GROUP_NAME);
}
private static void throwBadFrameGroupIdException(int id) {
Modified: hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java?rev=1079204&r1=1079203&r2=1079204&view=diff
==============================================================================
--- hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java (original)
+++ hadoop/mapreduce/branches/yahoo-merge/src/java/org/apache/hadoop/mapreduce/counters/FileSystemCounterGroup.java Tue Mar 8 05:55:26 2011
@@ -57,6 +57,9 @@ public abstract class FileSystemCounterG
private final Map<String, Object[]> map = Maps.newTreeMap();
private String displayName;
+ private static final Joiner NAME_JOINER = Joiner.on('_');
+ private static final Joiner DISP_JOINER = Joiner.on(": ");
+
@InterfaceAudience.Private
public class FSCounter extends AbstractCounter {
final String scheme;
@@ -70,12 +73,12 @@ public abstract class FileSystemCounterG
@Override
public String getName() {
- return Joiner.on('_').join(scheme, key.name());
+ return NAME_JOINER.join(scheme, key.name());
}
@Override
public String getDisplayName() {
- return Joiner.on(": ").join(scheme, localizeCounterName(key.name()));
+ return DISP_JOINER.join(scheme, localizeCounterName(key.name()));
}
protected String localizeCounterName(String counterName) {
@@ -155,7 +158,7 @@ public abstract class FileSystemCounterG
if (schemeEnd < 0) {
throw new IllegalArgumentException("bad fs counter name");
}
- return new String[]{counterName.substring(0, schemeEnd - 1),
+ return new String[]{counterName.substring(0, schemeEnd),
counterName.substring(schemeEnd + 1)};
}