From 7d6c3c6dbe111e4d5784671640aab31a2e427d57 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Thu, 12 Feb 2015 14:41:03 -0800 Subject: [PATCH] HADOOP-11586. Update use of Iterator to Iterable in AbstractMetricsContext.java. Contributed by Ray Chiang. (cherry picked from commit 11d8934463fca00db225a1c7660e0815832352d8) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../hadoop/metrics/spi/AbstractMetricsContext.java | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 25b57316075..e8437ac9462 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -191,6 +191,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11543. Improve help message for hadoop/yarn command. (Brahma Reddy Battula via ozawa). + HADOOP-11586. Update use of Iterator to Iterable in + AbstractMetricsContext.java. (Ray Chiang via aajisaka) + OPTIMIZATIONS HADOOP-11323. WritableComparator#compare keeps reference to byte array. diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics/spi/AbstractMetricsContext.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics/spi/AbstractMetricsContext.java index 6e1e210e670..e71cbfe353d 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics/spi/AbstractMetricsContext.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics/spi/AbstractMetricsContext.java @@ -310,13 +310,13 @@ public abstract class AbstractMetricsContext implements MetricsContext { * Emits the records. */ private synchronized void emitRecords() throws IOException { - for (String recordName : bufferedData.keySet()) { - RecordMap recordMap = bufferedData.get(recordName); + for (Map.Entry recordEntry : bufferedData.entrySet()) { + RecordMap recordMap = recordEntry.getValue(); synchronized (recordMap) { Set> entrySet = recordMap.entrySet (); for (Entry entry : entrySet) { OutputRecord outRec = new OutputRecord(entry.getKey(), entry.getValue()); - emitRecord(contextName, recordName, outRec); + emitRecord(contextName, recordEntry.getKey(), outRec); } } } @@ -330,8 +330,8 @@ public abstract class AbstractMetricsContext implements MetricsContext { */ public synchronized Map> getAllRecords() { Map> out = new TreeMap>(); - for (String recordName : bufferedData.keySet()) { - RecordMap recordMap = bufferedData.get(recordName); + for (Map.Entry recordEntry : bufferedData.entrySet()) { + RecordMap recordMap = recordEntry.getValue(); synchronized (recordMap) { List records = new ArrayList(); Set> entrySet = recordMap.entrySet(); @@ -339,7 +339,7 @@ public abstract class AbstractMetricsContext implements MetricsContext { OutputRecord outRec = new OutputRecord(entry.getKey(), entry.getValue()); records.add(outRec); } - out.put(recordName, records); + out.put(recordEntry.getKey(), records); } } return out;