svn merge -c 1357776 FIXES: MAPREDUCE-4392. Counters.makeCompactString() changed behavior from 0.20 (Jason Lowe via bobby)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1357777 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Robert Joseph Evans 2012-07-05 18:10:51 +00:00
parent c25a45dc52
commit 93f425a659
3 changed files with 33 additions and 1 deletions

View File

@ -511,6 +511,9 @@ Release 0.23.3 - UNRELEASED
MAPREDUCE-4228. mapreduce.job.reduce.slowstart.completedmaps is not working
properly (Jason Lowe via bobby)
MAPREDUCE-4392. Counters.makeCompactString() changed behavior from 0.20
(Jason Lowe via bobby)
Release 0.23.2 - UNRELEASED
INCOMPATIBLE CHANGES

View File

@ -90,7 +90,23 @@ public synchronized Collection<String> getGroupNames() {
}
public synchronized String makeCompactString() {
return CountersStrings.toEscapedCompactString(this);
StringBuilder builder = new StringBuilder();
boolean first = true;
for(Group group: this){
for(Counter counter: group) {
if (first) {
first = false;
} else {
builder.append(',');
}
builder.append(group.getDisplayName());
builder.append('.');
builder.append(counter.getDisplayName());
builder.append(':');
builder.append(counter.getCounter());
}
}
return builder.toString();
}
/**

View File

@ -224,6 +224,19 @@ public void testFileSystemGroupIteratorConcurrency() {
iterator.next();
}
@Test
public void testMakeCompactString() {
final String GC1 = "group1.counter1:1";
final String GC2 = "group2.counter2:3";
Counters counters = new Counters();
counters.incrCounter("group1", "counter1", 1);
assertEquals("group1.counter1:1", counters.makeCompactString());
counters.incrCounter("group2", "counter2", 3);
String cs = counters.makeCompactString();
assertTrue("Bad compact string",
cs.equals(GC1 + ',' + GC2) || cs.equals(GC2 + ',' + GC1));
}
public static void main(String[] args) throws IOException {
new TestCounters().testCounters();
}