You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2023/05/15 07:47:31 UTC
[iotdb] 01/01: branch beyyes/optimize_tsbs merge fast_write_test_with_guoneng
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/optimize_tsbs
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 4259bfdd84174974c0141e5a02faa2b8d90e302c
Merge: 56b3a97afef c92ff2b6b1f
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Mon May 15 15:47:06 2023 +0800
branch beyyes/optimize_tsbs merge fast_write_test_with_guoneng
.../consensus/iot/IoTConsensusServerImpl.java | 17 +
.../consensus/iot/logdispatcher/LogDispatcher.java | 42 +-
example/session/pom.xml | 48 +-
.../iotdb/AlignedTimeseriesSessionExample.java | 634 ---------------
.../org/apache/iotdb/DataMigrationExample.java | 186 -----
.../java/org/apache/iotdb/FastInsertExample.java | 93 +++
.../iotdb/HybridTimeseriesSessionExample.java | 122 ---
.../main/java/org/apache/iotdb/PrepareWrite.java | 32 +-
.../src/main/java/org/apache/iotdb/ReadTest.java | 271 +++++++
.../src/main/java/org/apache/iotdb/ReadTest2.java | 209 +++++
.../src/main/java/org/apache/iotdb/ReadTest3.java | 268 +++++++
.../org/apache/iotdb/SessionConcurrentExample.java | 188 -----
.../main/java/org/apache/iotdb/SessionExample.java | 879 ---------------------
.../java/org/apache/iotdb/SessionPoolExample.java | 148 ----
.../iotdb/SyntaxConventionRelatedExample.java | 147 ----
.../main/java/org/apache/iotdb/TabletExample.java | 194 -----
.../src/main/java/org/apache/iotdb/WriteTest.java | 228 ++++++
.../org/apache/iotdb/WriteTestFixParallel20.java | 233 ++++++
.../org/apache/iotdb/WriteTestFixParallel50.java | 233 ++++++
example/session/src/main/resources/logback.xml | 39 +
.../java/org/apache/iotdb/isession/ISession.java | 7 +
.../apache/iotdb/isession/pool/ISessionPool.java | 7 +
.../iotdb/db/metadata/template/Template.java | 22 +
.../execution/executor/RegionWriteExecutor.java | 3 +
.../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 6 +
.../plan/analyze/schema/ClusterSchemaFetcher.java | 75 ++
.../plan/analyze/schema/ISchemaComputation.java | 2 +
.../db/mpp/plan/analyze/schema/ISchemaFetcher.java | 6 +
.../mpp/plan/analyze/schema/SchemaValidator.java | 19 +-
.../db/mpp/plan/parser/StatementGenerator.java | 22 +
.../db/mpp/plan/planner/LogicalPlanVisitor.java | 42 +-
.../mpp/plan/planner/plan/node/PlanNodeType.java | 13 +-
.../db/mpp/plan/planner/plan/node/PlanVisitor.java | 5 +
.../planner/plan/node/write/FastInsertRowNode.java | 180 +++++
.../plan/node/write/FastInsertRowsNode.java | 128 +++
.../planner/plan/node/write/InsertRowNode.java | 11 +-
.../planner/plan/node/write/InsertRowsNode.java | 4 +-
.../db/mpp/plan/statement/StatementVisitor.java | 10 +
.../statement/crud/FastInsertRowStatement.java | 42 +
.../statement/crud/FastInsertRowsStatement.java | 30 +
.../service/thrift/impl/ClientRPCServiceImpl.java | 71 ++
.../java/org/apache/iotdb/db/wal/node/WALNode.java | 48 +-
.../java/org/apache/iotdb/session/Session.java | 84 ++
.../apache/iotdb/session/SessionConnection.java | 21 +
.../org/apache/iotdb/session/pool/SessionPool.java | 24 +
.../apache/iotdb/session/util/SessionUtils.java | 36 +-
thrift/src/main/thrift/client.thrift | 10 +
47 files changed, 2561 insertions(+), 2578 deletions(-)
diff --cc consensus/src/main/java/org/apache/iotdb/consensus/iot/IoTConsensusServerImpl.java
index 2d303f5a910,032d9ad1871..d13a55a4c8e
--- a/consensus/src/main/java/org/apache/iotdb/consensus/iot/IoTConsensusServerImpl.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/iot/IoTConsensusServerImpl.java
@@@ -138,14 -142,14 +142,17 @@@ public class IoTConsensusServerImpl
this.config = config;
this.logDispatcher = new LogDispatcher(this, clientManager);
reader = (ConsensusReqReader) stateMachine.read(new GetConsensusReqReaderPlan());
- long currentSearchIndex = reader.getCurrentSearchIndex();
+ this.searchIndex = new AtomicLong(reader.getCurrentSearchIndex());
+ // Since the underlying wal does not persist safelyDeletedSearchIndex, IoTConsensus needs to
+ // update wal with its syncIndex recovered from the consensus layer when initializing.
+ // This prevents wal from being piled up if the safelyDeletedSearchIndex is not updated after
+ // the restart and Leader migration occurs
checkAndUpdateSafeDeletedSearchIndex();
- this.searchIndex = new AtomicLong(currentSearchIndex);
this.consensusGroupId = thisNode.getGroupId().toString();
this.metrics = new IoTConsensusServerMetrics(this);
+ this.executorService =
+ IoTDBThreadPoolFactory.newFixedThreadPool(
+ Runtime.getRuntime().availableProcessors(), "Serialization");
}
public IStateMachine getStateMachine() {
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index c9980705f95,77110e30a4c..b33cb8bbecc
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
@@@ -90,8 -89,10 +90,9 @@@ import org.apache.iotdb.db.mpp.plan.sta
import org.apache.iotdb.db.mpp.plan.statement.component.Ordering;
import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
import org.apache.iotdb.db.mpp.plan.statement.component.SortItem;
-import org.apache.iotdb.db.mpp.plan.statement.component.SortKey;
import org.apache.iotdb.db.mpp.plan.statement.component.WhereCondition;
import org.apache.iotdb.db.mpp.plan.statement.crud.DeleteDataStatement;
+ import org.apache.iotdb.db.mpp.plan.statement.crud.FastInsertRowsStatement;
import org.apache.iotdb.db.mpp.plan.statement.crud.InsertMultiTabletsStatement;
import org.apache.iotdb.db.mpp.plan.statement.crud.InsertRowStatement;
import org.apache.iotdb.db.mpp.plan.statement.crud.InsertRowsOfOneDeviceStatement;
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeType.java
index 762238ac915,a263e1f9f9f..6093825b7c1
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeType.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeType.java
@@@ -169,7 -170,9 +171,10 @@@ public enum PlanNodeType
IDENTITY_SINK((short) 70),
SHUFFLE_SINK((short) 71),
BATCH_ACTIVATE_TEMPLATE((short) 72),
- CREATE_LOGICAL_VIEW((short) 73);
- FAST_INSERT_ROW((short) 73),
- FAST_INSERT_ROWS((short) 74),
++ CREATE_LOGICAL_VIEW((short) 73),
++ FAST_INSERT_ROW((short) 74),
++ FAST_INSERT_ROWS((short) 75),
+ ;
public static final int BYTES = Short.BYTES;
@@@ -363,7 -366,9 +368,13 @@@
case 72:
return BatchActivateTemplateNode.deserialize(buffer);
case 73:
++<<<<<<< HEAD
+ return CreateLogicalViewNode.deserialize(buffer);
++=======
+ return FastInsertRowNode.deserialize(buffer);
+ case 74:
+ return FastInsertRowsNode.deserialize(buffer);
++>>>>>>> fast_write_test_with_guoneng
default:
throw new IllegalArgumentException("Invalid node type: " + nodeType);
}