Repository: cassandra Updated Branches: refs/heads/trunk b449126fe -> 944e3be4e
Fix ThreadPool metrics logging patch by yukim; reviewed by Ariel Weisberg for CASSANDRA-9019 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/944e3be4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/944e3be4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/944e3be4 Branch: refs/heads/trunk Commit: 944e3be4e34a4f9ee160e5f41275f1ad65b81fcb Parents: b449126 Author: Yuki Morishita <yu...@apache.org> Authored: Mon Apr 6 17:33:33 2015 -0500 Committer: Yuki Morishita <yu...@apache.org> Committed: Mon Apr 6 17:33:33 2015 -0500 ---------------------------------------------------------------------- src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java | 7 +++++-- src/java/org/apache/cassandra/utils/StatusLogger.java | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/944e3be4/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java b/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java index 992e676..fba92c4 100644 --- a/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java +++ b/src/java/org/apache/cassandra/metrics/ThreadPoolMetrics.java @@ -114,6 +114,10 @@ public class ThreadPoolMetrics try { ObjectName oName = new ObjectName(name); + if (!mbeanServerConn.isRegistered(oName)) + { + return "N/A"; + } switch (metricName) { @@ -127,9 +131,8 @@ public class ThreadPoolMetrics default: throw new AssertionError("Unknown metric name " + metricName); } - } - catch (Throwable e) + catch (Exception e) { throw new RuntimeException("Error reading: " + name, e); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/944e3be4/src/java/org/apache/cassandra/utils/StatusLogger.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/utils/StatusLogger.java b/src/java/org/apache/cassandra/utils/StatusLogger.java index 32470e8..5f4eaf2 100644 --- a/src/java/org/apache/cassandra/utils/StatusLogger.java +++ b/src/java/org/apache/cassandra/utils/StatusLogger.java @@ -52,13 +52,13 @@ public class StatusLogger for (Stage stage : Stage.jmxEnabledStages()) { - System.out.printf("%-25s%10s%10s%15s%10s%18s%n", + logger.info(String.format("%-25s%10s%10s%15s%10s%18s%n", stage.getJmxName(), ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "ActiveTasks"), ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "PendingTasks"), ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "CompletedTasks"), ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "CurrentlyBlockedTasks"), - ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "TotalBlockedTasks")); + ThreadPoolMetrics.getJmxMetric(server, stage.getJmxType(), stage.getJmxName(), "TotalBlockedTasks"))); } // one offs