Repository: hadoop Updated Branches: refs/heads/branch-2 ad4b24358 -> f59b698fc
HADOOP-10062. race condition in MetricsSystemImpl#publishMetricsNow that causes incorrect results. (Contributed by Sangjin Lee) (cherry picked from commit 0b567f424673b5cea1c3bc23b2bd268ef6b7625f) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f59b698f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f59b698f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f59b698f Branch: refs/heads/branch-2 Commit: f59b698fc99211c010d569e7f71555183dfc29f1 Parents: ad4b243 Author: Junping Du <[email protected]> Authored: Wed Feb 4 19:10:52 2015 -0800 Committer: Junping Du <[email protected]> Committed: Wed Feb 4 19:12:21 2015 -0800 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java | 2 +- .../org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f59b698f/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 05346f2..1eef93e 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -485,6 +485,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11549. flaky test detection tool failed to handle special control characters in test result. (Yongjun Zhang via aajisaka) + HADOOP-10062. race condition in MetricsSystemImpl#publishMetricsNow that + causes incorrect results. (Sangjin Lee via junping_du) + Release 2.6.1 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/f59b698f/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java index 4507e35..b7660e5 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/impl/MetricsSystemImpl.java @@ -387,7 +387,7 @@ public class MetricsSystemImpl extends MetricsSystem implements MetricsSource { * Requests an immediate publish of all metrics from sources to sinks. */ @Override - public void publishMetricsNow() { + public synchronized void publishMetricsNow() { if (sinks.size() > 0) { publishMetrics(sampleMetrics(), true); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f59b698f/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java index d59e80b..4c2ebc8 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/metrics2/impl/TestMetricsSystemImpl.java @@ -190,7 +190,7 @@ public class TestMetricsSystemImpl { threads[i] = new Thread(new Runnable() { private boolean safeAwait(int mySource, CyclicBarrier barrier) { try { - barrier1.await(2, TimeUnit.SECONDS); + barrier.await(2, TimeUnit.SECONDS); } catch (InterruptedException e) { results[mySource] = "Interrupted"; return false;
