This is an automated email from the ASF dual-hosted git repository. marklau99 pushed a commit to branch fix-npe-in-cpu-metrics-1.2 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c05cd2209bf10f49a2081b58119cc916ba7673e7 Author: Liu Xuxin <[email protected]> AuthorDate: Mon Jun 19 23:02:42 2023 +0800 fix npe and index out of range in cpu metrics --- .../org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java | 6 +++--- .../main/java/org/apache/iotdb/commons/concurrent/ThreadName.java | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java index 56a2864f22f..e21ff0471c7 100644 --- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java +++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/cpu/CpuUsageMetrics.java @@ -251,12 +251,12 @@ public class CpuUsageMetrics implements IMetricSet { for (ThreadInfo threadInfo : threadInfos) { long id = threadInfo.getThreadId(); long beforeCpuTime = beforeThreadCpuTime.getOrDefault(id, 0L); - long afterCpuTime = afterThreadCpuTime.get(id); - if (afterCpuTime < beforeCpuTime) { + long afterCpuTime = afterThreadCpuTime.getOrDefault(id, 0L); + if (afterCpuTime < beforeCpuTime || afterCpuTime == 0L) { continue; } long beforeUserTime = beforeThreadUserTime.getOrDefault(id, 0L); - long afterUserTime = afterThreadUserTime.get(id); + long afterUserTime = afterThreadUserTime.getOrDefault(id, 0L); totalIncrementTime += afterCpuTime - beforeCpuTime; String module = getThreadModuleById(id, threadInfo); String pool = getThreadPoolById(id, threadInfo); diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java b/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java index 7170d4a4e4c..51783d4c281 100644 --- a/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java +++ b/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/ThreadName.java @@ -305,7 +305,6 @@ public enum ThreadName { DataNodeThreadModule.IOT_CONSENSUS, DataNodeThreadModule.RATIS_CONSENSUS, DataNodeThreadModule.COMPUTE, - DataNodeThreadModule.SYNC, DataNodeThreadModule.JVM, DataNodeThreadModule.METRICS, DataNodeThreadModule.OTHER
