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();