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