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

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

commit ad3a18461a5ed1a39b281f7154f764817086c272
Merge: 79ef4a6e4a 465b0cffbe
Author: HTHou <[email protected]>
AuthorDate: Fri May 13 15:56:59 2022 +0800

    Support CreateMultiTimeseries in new cluster

 confignode/pom.xml                                 |   5 +
 .../resources/conf/iotdb-confignode.properties     |  31 ++-
 .../iotdb/confignode/conf/ConfigNodeConf.java      |  34 +++
 .../confignode/conf/ConfigNodeDescriptor.java      |  18 ++
 .../consensus/request/ConfigRequest.java           |  14 +-
 .../consensus/request/ConfigRequestType.java       |   2 +
 ...torageGroupReq.java => DeleteProcedureReq.java} |  35 ++-
 .../request/write/DeleteStorageGroupReq.java       |  14 +-
 ...torageGroupReq.java => UpdateProcedureReq.java} |  40 +--
 .../statemachine/PartitionRegionStateMachine.java  |  34 ++-
 .../confignode/manager/ClusterSchemaManager.java   |   5 +
 .../iotdb/confignode/manager/ConfigManager.java    |  43 ++-
 .../iotdb/confignode/manager/ConsensusManager.java |   7 +-
 .../apache/iotdb/confignode/manager/Manager.java   |   8 +
 .../iotdb/confignode/manager/PartitionManager.java |   5 +
 .../iotdb/confignode/manager/ProcedureManager.java | 183 +++++++++++++
 .../iotdb/confignode/persistence/AuthorInfo.java   |   6 +-
 .../confignode/persistence/ClusterSchemaInfo.java  |  32 ++-
 .../confignode/persistence/PartitionInfo.java      |  43 +++
 .../confignode/persistence/ProcedureInfo.java      | 115 ++++++++
 .../executor/ConfigRequestExecutor.java            |  10 +
 .../confignode/procedure/ConfigProcedureStore.java | 146 +++++++++++
 .../procedure/DeleteStorageGroupProcedure.java     | 247 +++++++++++++++++
 .../procedure/DeleteStorageGroupState.java         |  36 +--
 .../confignode/procedure/ProcedureFactory.java     |  72 +++++
 .../procedure/env/ConfigNodeProcedureEnv.java      |  84 ++++++
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  14 +-
 .../consensus/request/ConfigRequestSerDeTest.java  |  63 ++++-
 .../confignode/persistence/AuthorInfoTest.java     | 292 +++++++++++++++++++++
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |  37 +++
 .../confignode1conf/iotdb-confignode.properties    |   3 +-
 .../confignode2conf/iotdb-confignode.properties    |   3 +-
 .../confignode3conf/iotdb-confignode.properties    |   3 +-
 .../commons/auth/role/LocalFileRoleAccessor.java   |  11 +-
 .../iotdb/commons/auth/user/BasicUserManager.java  |   5 +
 .../iotdb/commons/auth/user/IUserAccessor.java     |   7 +
 .../commons/auth/user/LocalFileUserAccessor.java   |  12 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  11 +
 .../iotdb/commons/conf/CommonDescriptor.java       |   1 +
 .../iotdb/procedure/CompletedProcedureCleaner.java |  17 +-
 .../apache/iotdb/procedure/InternalProcedure.java  |   4 +-
 .../java/org/apache/iotdb/procedure/Procedure.java |  36 +--
 .../apache/iotdb/procedure/ProcedureExecutor.java  |  10 +-
 .../iotdb/procedure/StateMachineProcedure.java     |   8 +-
 .../iotdb/procedure/service/ProcedureServer.java   |   3 +-
 .../service/ProcedureServerProcessor.java          |  16 +-
 ...IProcedureStore.java => IProcedureFactory.java} |  26 +-
 .../iotdb/procedure/store/IProcedureStore.java     |   1 +
 .../iotdb/procedure/store/ProcedureStore.java      |  17 +-
 .../apache/iotdb/procedure/store/ProcedureWAL.java |  11 +-
 .../iotdb/procedure/entity/IncProcedure.java       |   7 +
 .../procedure/entity/SimpleLockProcedure.java      |   2 +
 .../iotdb/procedure/entity/SleepProcedure.java     |   7 +
 .../iotdb/procedure/entity/StuckProcedure.java     |   4 +-
 .../iotdb/procedure/entity/StuckSTMProcedure.java  |   5 +-
 .../procedure/entity/TestProcedureFactory.java     |  76 ++++++
 .../procedure/service/TestProcedureService.java    |   2 +
 .../iotdb/procedure/store/TestProcedureStore.java  |   8 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   1 -
 .../apache/iotdb/db/auth}/AuthorizerManager.java   |  10 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   6 +-
 .../consensus/statemachine/BaseStateMachine.java   |   2 +-
 .../statemachine/DataRegionStateMachine.java       |  33 ++-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |   4 +
 .../metadata/visitor/SchemaExecutionVisitor.java   |  14 +
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  14 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |   2 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |  33 +++
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |   5 +
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   3 +
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   3 +
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |   2 +
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   2 +
 .../plan/analyze/StandalonePartitionFetcher.java   |   3 +
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |   3 +
 .../db/mpp/plan/execution/QueryExecution.java      |  21 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   6 +
 .../execution/config/DeleteStorageGroupTask.java   | 101 +++++++
 .../plan/execution/memory/MemorySourceHandle.java  |  80 ++++++
 .../execution/memory/StatementMemorySource.java    |  39 ++-
 .../memory/StatementMemorySourceContext.java       |  39 ++-
 .../memory/StatementMemorySourceVisitor.java       |  36 +--
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  13 +
 .../db/mpp/plan/planner/plan/FragmentInstance.java |  18 +-
 .../plan/planner/plan/node/DeleteRegionNode.java   | 109 ++++++++
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |   2 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   5 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   4 +
 .../db/mpp/plan/statement/StatementVisitor.java    |  10 +-
 .../metadata/DeleteStorageGroupStatement.java      |  61 +++++
 .../db/protocol/mqtt/BrokerAuthenticator.java      |   4 +-
 .../protocol/rest/filter/AuthorizationFilter.java  |   4 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   2 +-
 .../iotdb/db/query/control/SessionManager.java     |   2 +-
 .../service/thrift/impl/InternalServiceImpl.java   |  40 +++
 .../db/service/thrift/impl/TSServiceImpl.java      |   9 +-
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   3 +-
 .../auth/authorizer/LocalFileAuthorizerTest.java   |  12 +-
 .../execution/memory/MemorySourceHandleTest.java   |  50 ++--
 .../plan/node/write/DeleteRegionNodeSerdeTest.java |  60 +++++
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   4 +-
 .../src/main/thrift/confignode.thrift              |   8 +-
 thrift/src/main/thrift/mpp.thrift                  |  28 ++
 103 files changed, 2553 insertions(+), 348 deletions(-)

diff --cc 
server/src/main/java/org/apache/iotdb/db/metadata/visitor/SchemaExecutionVisitor.java
index 6561eb6dee,9988e8b8da..31785a3afd
--- 
a/server/src/main/java/org/apache/iotdb/db/metadata/visitor/SchemaExecutionVisitor.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/metadata/visitor/SchemaExecutionVisitor.java
@@@ -179,21 -146,18 +182,32 @@@ public class SchemaExecutionVisitor ext
            node.getTagsList(),
            node.getAttributesList());
      }
 +
 +    public PhysicalPlan visitCreateMultiTimeSeries(
 +        CreateMultiTimeSeriesNode node, TransformerContext context) {
 +
 +      CreateMultiTimeSeriesPlan multiPlan = new CreateMultiTimeSeriesPlan();
 +      multiPlan.setPaths(node.getPaths());
 +      multiPlan.setDataTypes(node.getDataTypes());
 +      multiPlan.setEncodings(node.getEncodings());
 +      multiPlan.setCompressors(node.getCompressors());
 +      multiPlan.setAlias(node.getAliasList());
 +      multiPlan.setTags(node.getTagsList());
 +      multiPlan.setAttributes(node.getAttributesList());
 +      return multiPlan;
 +    }
    }
  
+   @Override
+   public TSStatus visitDeleteRegion(DeleteRegionNode node, ISchemaRegion 
schemaRegion) {
+     try {
+       SchemaEngine.getInstance().deleteSchemaRegion((SchemaRegionId) 
node.getConsensusGroupId());
+     } catch (MetadataException e) {
+       logger.error("{}: MetaData error: ", IoTDBConstant.GLOBAL_DB_NAME, e);
+       return RpcUtils.getStatus(TSStatusCode.METADATA_ERROR, e.getMessage());
+     }
+     return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS, "Execute 
successfully");
+   }
+ 
    private static class TransformerContext {}
  }
diff --cc 
server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeType.java
index 339445a86e,1d52cd0231..4fe62bad82
--- 
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
@@@ -100,7 -99,7 +100,8 @@@ public enum PlanNodeType 
    DEVICE_MERGE((short) 35),
    SCHEMA_FETCH_MERGE((short) 36),
    TRANSFORM((short) 37),
-   CREATE_MULTI_TIME_SERIES((short) 38);
 -  DELETE_REGION((short) 38);
++  DELETE_REGION((short) 38),
++  CREATE_MULTI_TIME_SERIES((short) 39);
  
    private final short nodeType;
  
@@@ -201,7 -200,7 +202,9 @@@
        case 37:
          return TransformNode.deserialize(buffer);
        case 38:
+         return DeleteRegionNode.deserialize(buffer);
++      case 39:
 +        return CreateMultiTimeSeriesNode.deserialize(buffer);
        default:
          throw new IllegalArgumentException("Invalid node type: " + nodeType);
      }
diff --cc 
server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
index 59d11c3c9a,77bd11ebd6..16bbdff8dd
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java
@@@ -32,8 -32,8 +32,9 @@@ import org.apache.iotdb.db.mpp.plan.sta
  import 
org.apache.iotdb.db.mpp.plan.statement.metadata.CountStorageGroupStatement;
  import 
org.apache.iotdb.db.mpp.plan.statement.metadata.CountTimeSeriesStatement;
  import 
org.apache.iotdb.db.mpp.plan.statement.metadata.CreateAlignedTimeSeriesStatement;
 +import 
org.apache.iotdb.db.mpp.plan.statement.metadata.CreateMultiTimeSeriesStatement;
  import 
org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTimeSeriesStatement;
+ import 
org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStatement;
  import org.apache.iotdb.db.mpp.plan.statement.metadata.SchemaFetchStatement;
  import 
org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
  import org.apache.iotdb.db.mpp.plan.statement.metadata.SetTTLStatement;

Reply via email to