This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch aligned_mem_cal
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 1c34c9321e217928cb4144fc36c4462599c1a1c5
Author: HTHou <[email protected]>
AuthorDate: Tue May 16 09:43:00 2023 +0800

    update code
---
 .../metadata/cache/DataNodeMeasurementIdCache.java |  6 ++++-
 .../metrics/recorder/WritingMetricsManager.java    | 26 +++++++++++++---------
 .../service/thrift/impl/ClientRPCServiceImpl.java  |  4 ++--
 3 files changed, 23 insertions(+), 13 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeMeasurementIdCache.java
 
b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeMeasurementIdCache.java
index 571fbb7a82..16900e7a30 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeMeasurementIdCache.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeMeasurementIdCache.java
@@ -44,7 +44,11 @@ public class DataNodeMeasurementIdCache {
   }
 
   public boolean contains(String measurementId) {
-    return null != measurementIdCache.getIfPresent(measurementId);
+    return null != measurementIdCache.get(measurementId, k -> null);
+  }
+
+  public void put(String measurementId) {
+    measurementIdCache.put(measurementId, measurementId.getBytes());
   }
 
   public byte[] getBytes(String measurementId) {
diff --git 
a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/WritingMetricsManager.java
 
b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/WritingMetricsManager.java
index 5decb9b3a4..10391227b6 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/WritingMetricsManager.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/WritingMetricsManager.java
@@ -26,12 +26,15 @@ import org.apache.iotdb.commons.service.metric.enums.Tag;
 import org.apache.iotdb.db.engine.storagegroup.DataRegion;
 import org.apache.iotdb.db.service.metrics.WritingMetrics;
 import org.apache.iotdb.db.wal.checkpoint.CheckpointType;
+import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
 import org.apache.iotdb.metrics.utils.MetricLevel;
 import org.apache.iotdb.metrics.utils.MetricType;
 
 import java.util.Arrays;
 import java.util.concurrent.TimeUnit;
 
+import static org.apache.iotdb.metrics.utils.MetricLevel.DO_NOTHING;
+
 public class WritingMetricsManager {
   public static final WritingMetricsManager INSTANCE = new 
WritingMetricsManager();
 
@@ -286,16 +289,19 @@ public class WritingMetricsManager {
   }
 
   public void recordSerializeOneWALInfoEntryCost(long costTimeInNanos) {
-    MetricService.getInstance()
-        .timer(
-            costTimeInNanos,
-            TimeUnit.NANOSECONDS,
-            Metric.WAL_COST.toString(),
-            MetricLevel.IMPORTANT,
-            Tag.STAGE.toString(),
-            WritingMetrics.SERIALIZE_WAL_ENTRY,
-            Tag.TYPE.toString(),
-            WritingMetrics.SERIALIZE_ONE_WAL_INFO_ENTRY);
+    if (!DO_NOTHING.equals(
+        
MetricConfigDescriptor.getInstance().getMetricConfig().getMetricLevel())) {
+      MetricService.getInstance()
+          .timer(
+              costTimeInNanos,
+              TimeUnit.NANOSECONDS,
+              Metric.WAL_COST.toString(),
+              MetricLevel.IMPORTANT,
+              Tag.STAGE.toString(),
+              WritingMetrics.SERIALIZE_WAL_ENTRY,
+              Tag.TYPE.toString(),
+              WritingMetrics.SERIALIZE_ONE_WAL_INFO_ENTRY);
+    }
   }
 
   public void recordSerializeWALEntryTotalCost(long costTimeInNanos) {
diff --git 
a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
 
b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
index 5e6f344def..5cc2161cf8 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
@@ -1160,8 +1160,8 @@ public class ClientRPCServiceImpl implements 
IClientRPCServiceWithHandler {
               checkedList.add(measurement);
             } else {
               String checked = 
PathUtils.checkAndReturnSingleMeasurement(measurement);
-              DataNodeMeasurementIdCache.getInstance().getBytes(checked);
-              checkedList.add(measurement);
+              DataNodeMeasurementIdCache.getInstance().put(checked);
+              checkedList.add(checked);
             }
           }
         }

Reply via email to