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

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


The following commit(s) were added to refs/heads/master by this push:
     new c4ace325364 Reduce IDeviceID creation in insert process (#13472)
c4ace325364 is described below

commit c4ace325364a0e40c85b449261735c7cf394e3d7
Author: Haonan <[email protected]>
AuthorDate: Thu Sep 12 10:12:29 2024 +0800

    Reduce IDeviceID creation in insert process (#13472)
    
    * Reduce IDeviceID creation in insert process
    
    * fix code smell
---
 .../dataregion/memtable/DeviceIDFactory.java             | 16 ++--------------
 .../java/org/apache/iotdb/db/utils/EnvironmentUtils.java |  4 ----
 2 files changed, 2 insertions(+), 18 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/DeviceIDFactory.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/DeviceIDFactory.java
index e96c77f1b4e..fbbe279f06e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/DeviceIDFactory.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/DeviceIDFactory.java
@@ -20,20 +20,16 @@
 package org.apache.iotdb.db.storageengine.dataregion.memtable;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.commons.utils.TestOnly;
 
 import org.apache.tsfile.file.metadata.IDeviceID;
-import org.apache.tsfile.file.metadata.StringArrayDeviceID;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /** factory to build device id according to configured algorithm */
 public class DeviceIDFactory {
-  private Function<String, IDeviceID> getDeviceIDFunction;
 
   // region DeviceIDFactory Singleton
   private static class DeviceIDFactoryHolder {
@@ -54,9 +50,7 @@ public class DeviceIDFactory {
     return DeviceIDFactoryHolder.INSTANCE;
   }
 
-  private DeviceIDFactory() {
-    getDeviceIDFunction = IDeviceID.Factory.DEFAULT_FACTORY::create;
-  }
+  private DeviceIDFactory() {}
 
   // endregion
 
@@ -67,7 +61,7 @@ public class DeviceIDFactory {
    * @return device id of the timeseries
    */
   public IDeviceID getDeviceID(final PartialPath devicePath) {
-    return getDeviceIDFunction.apply(devicePath.getFullPath());
+    return devicePath.getIDeviceID();
   }
 
   public static List<IDeviceID> convertRawDeviceIDs2PartitionKeys(
@@ -105,10 +99,4 @@ public class DeviceIDFactory {
         ? device
         : Arrays.copyOf(device, lastNonNullIndex + 1);
   }
-
-  /** reset id method */
-  @TestOnly
-  public void reset() {
-    getDeviceIDFunction = StringArrayDeviceID::new;
-  }
 }
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
index 1f160e07758..bef179c8aa4 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
@@ -35,7 +35,6 @@ import org.apache.iotdb.db.storageengine.buffer.ChunkCache;
 import org.apache.iotdb.db.storageengine.buffer.TimeSeriesMetadataCache;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskManager;
 import org.apache.iotdb.db.storageengine.dataregion.flush.FlushManager;
-import org.apache.iotdb.db.storageengine.dataregion.memtable.DeviceIDFactory;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.control.FileReaderManager;
 import 
org.apache.iotdb.db.storageengine.dataregion.read.control.QueryResourceManager;
 import 
org.apache.iotdb.db.storageengine.dataregion.tsfile.timeindex.FileTimeIndexCacheRecorder;
@@ -279,9 +278,6 @@ public class EnvironmentUtils {
       throw new RuntimeException(e);
     }
 
-    // reset id method
-    DeviceIDFactory.getInstance().reset();
-
     TEST_QUERY_JOB_ID = QueryResourceManager.getInstance().assignQueryId();
     TEST_QUERY_CONTEXT = new QueryContext(TEST_QUERY_JOB_ID);
   }

Reply via email to