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 ju...@apache.org on 2015/02/05 03:59:44 UTC
hadoop git commit: HADOOP-10062. race condition in
MetricsSystemImpl#publishMetricsNow that causes incorrect results.
(Contributed by Sangjin Lee) (cherry picked from commit
0b567f424673b5cea1c3bc23b2bd268ef6b7625f)
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 <ju...@apache.org>
Authored: Wed Feb 4 19:10:52 2015 -0800
Committer: Junping Du <ju...@apache.org>
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;