You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/01/26 11:20:28 UTC
[02/33] kylin git commit: KYLIN-2836 Fix timers counters and meters
add synchronization impl
KYLIN-2836 Fix timers counters and meters add synchronization impl
This closes #75
Signed-off-by: Li Yang <li...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b4daa8a3
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b4daa8a3
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b4daa8a3
Branch: refs/heads/sync
Commit: b4daa8a3198a99400629c79db9832070bbe063d0
Parents: 4196ddd
Author: mingming.ge <mi...@kyligence>
Authored: Mon Sep 25 17:01:51 2017 +0800
Committer: Li Yang <li...@apache.org>
Committed: Fri Jan 26 17:22:46 2018 +0800
----------------------------------------------------------------------
.../metrics/metrics2/CodahaleMetrics.java | 24 +++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/b4daa8a3/core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/CodahaleMetrics.java
----------------------------------------------------------------------
diff --git a/core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/CodahaleMetrics.java b/core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/CodahaleMetrics.java
index bae6cfb..e728759 100644
--- a/core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/CodahaleMetrics.java
+++ b/core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/CodahaleMetrics.java
@@ -144,9 +144,27 @@ public class CodahaleMetrics implements Metrics {
for (Map.Entry<String, Metric> metric : metricRegistry.getMetrics().entrySet()) {
metricRegistry.remove(metric.getKey());
}
- timers.invalidateAll();
- counters.invalidateAll();
- meters.invalidateAll();
+
+ try {
+ timersLock.lock();
+ timers.invalidateAll();
+ } finally {
+ timersLock.unlock();
+ }
+
+ try {
+ countersLock.lock();
+ counters.invalidateAll();
+ } finally {
+ countersLock.unlock();
+ }
+
+ try {
+ metersLock.lock();
+ meters.invalidateAll();
+ } finally {
+ metersLock.unlock();
+ }
}
@Override