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

tanxinyu 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 b1589f913ab [IOTDB-6301] Optimize insert first (#12136)
b1589f913ab is described below

commit b1589f913ab6a7a5b307403a379339c748c6ea61
Author: Xiangpeng Hu <[email protected]>
AuthorDate: Tue Mar 12 18:28:39 2024 +0800

    [IOTDB-6301] Optimize insert first (#12136)
---
 .../iotdb/confignode/manager/ProcedureManager.java |  2 +-
 .../confignode/manager/load/cache/LoadCache.java   |  2 +-
 .../java/org/apache/iotdb/db/service/DataNode.java | 32 ++++++++++++++++++++++
 3 files changed, 34 insertions(+), 2 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
index dfd32c867ab..23f6e57885a 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ProcedureManager.java
@@ -126,7 +126,7 @@ public class ProcedureManager {
   private static final CommonConfig COMMON_CONFIG = 
CommonDescriptor.getInstance().getConfig();
 
   public static final long PROCEDURE_WAIT_TIME_OUT = 
COMMON_CONFIG.getConnectionTimeoutInMS();
-  private static final int PROCEDURE_WAIT_RETRY_TIMEOUT = 250;
+  private static final int PROCEDURE_WAIT_RETRY_TIMEOUT = 10;
 
   private final ConfigManager configManager;
   private ProcedureExecutor<ConfigNodeProcedureEnv> executor;
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/LoadCache.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/LoadCache.java
index 310c08b88b3..9a237eb99c5 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/LoadCache.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/LoadCache.java
@@ -62,7 +62,7 @@ public class LoadCache {
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(LoadCache.class);
 
-  private static final long WAIT_LEADER_INTERVAL = 50;
+  private static final long WAIT_LEADER_INTERVAL = 10;
   private static final long LEADER_ELECTION_WAITING_TIMEOUT =
       Math.max(
           ProcedureManager.PROCEDURE_WAIT_TIME_OUT - 
TimeUnit.SECONDS.toMillis(2),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index b74a9639b48..9fb5325ca8f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -67,8 +67,16 @@ import 
org.apache.iotdb.db.protocol.client.ConfigNodeClientManager;
 import org.apache.iotdb.db.protocol.client.ConfigNodeInfo;
 import org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl;
 import org.apache.iotdb.db.protocol.thrift.impl.DataNodeRegionManager;
+import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
+import org.apache.iotdb.db.qp.sql.SqlLexer;
 import 
org.apache.iotdb.db.queryengine.execution.exchange.MPPDataExchangeService;
 import org.apache.iotdb.db.queryengine.execution.schedule.DriverScheduler;
+import org.apache.iotdb.db.queryengine.plan.parser.ASTVisitor;
+import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
+import org.apache.iotdb.db.queryengine.plan.planner.LogicalPlanVisitor;
+import 
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanContext;
+import 
org.apache.iotdb.db.queryengine.plan.planner.distribution.SourceRewriter;
+import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
 import org.apache.iotdb.db.schemaengine.SchemaEngine;
 import org.apache.iotdb.db.schemaengine.template.ClusterTemplateManager;
 import org.apache.iotdb.db.service.metrics.DataNodeMetricsHelper;
@@ -78,6 +86,7 @@ import 
org.apache.iotdb.db.storageengine.buffer.CacheHitRatioMonitor;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleTaskManager;
 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.TsFileProcessor;
 import org.apache.iotdb.db.storageengine.dataregion.wal.WALManager;
 import org.apache.iotdb.db.storageengine.dataregion.wal.utils.WALMode;
 import org.apache.iotdb.db.storageengine.rescon.disk.TierManager;
@@ -89,6 +98,7 @@ import org.apache.iotdb.metrics.utils.InternalReporterType;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.udf.api.exception.UDFManagementException;
 
+import org.antlr.v4.runtime.CommonTokenStream;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -557,6 +567,7 @@ public class DataNode implements DataNodeMBean {
 
     logger.info("Recover the schema...");
     initSchemaEngine();
+    classLoader();
     registerManager.register(FlushManager.getInstance());
     registerManager.register(CacheHitRatioMonitor.getInstance());
 
@@ -921,6 +932,27 @@ public class DataNode implements DataNodeMBean {
     logger.info("Recover schema successfully, which takes {} ms.", (endTime - 
startTime));
   }
 
+  private void classLoader() {
+    try {
+      // StatementGenerator
+      Class.forName(StatementGenerator.class.getName());
+      Class.forName(ASTVisitor.class.getName());
+      Class.forName(SqlLexer.class.getName());
+      Class.forName(CommonTokenStream.class.getName());
+      Class.forName(IoTDBSqlParser.class.getName());
+      // SourceRewriter
+      Class.forName(SourceRewriter.class.getName());
+      Class.forName(DistributionPlanContext.class.getName());
+      // LogicalPlaner
+      Class.forName(LogicalPlanVisitor.class.getName());
+      Class.forName(LogicalQueryPlan.class.getName());
+      // TsFileProcessor
+      Class.forName(TsFileProcessor.class.getName());
+    } catch (ClassNotFoundException e) {
+      logger.error("load class error: ", e);
+    }
+  }
+
   public void stop() {
     deactivate();
     SchemaEngine.getInstance().clear();

Reply via email to