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

yongzao pushed a commit to branch 
Support-cluster-Database-heterogeneous-by-ALTER-SQL
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to 
refs/heads/Support-cluster-Database-heterogeneous-by-ALTER-SQL by this push:
     new 54430fba42 Finish
54430fba42 is described below

commit 54430fba42ba59cf1dc533b3389a5508a8076801
Author: YongzaoDan <[email protected]>
AuthorDate: Fri Feb 3 11:39:40 2023 +0800

    Finish
---
 .../manager/partition/PartitionManager.java        |   4 +-
 .../persistence/schema/ClusterSchemaInfo.java      |  20 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   6 +-
 .../confignode/it/IoTDBConfigNodeSnapshotIT.java   |   6 +-
 .../it/cluster/IoTDBClusterRestartIT.java          |   3 +-
 .../it/database/IoTDBDatabaseRegionControlIT.java  | 236 +++++++++++++++++++++
 .../IoTDBDatabaseSetAndDeleteIT.java}              |  52 ++---
 .../load/IoTDBClusterRegionLeaderBalancingIT.java  |   7 +-
 .../it/load/IoTDBConfigNodeSwitchLeaderIT.java     |   5 +-
 .../partition/IoTDBAutoRegionGroupExtensionIT.java |  10 +-
 .../IoTDBCustomRegionGroupExtensionIT.java         |   4 +-
 .../it/partition/IoTDBPartitionCreationIT.java     |   4 +-
 .../it/partition/IoTDBPartitionDurableIT.java      |   4 +-
 .../it/partition/IoTDBPartitionGetterIT.java       |   4 +-
 .../partition/IoTDBPartitionInheritPolicyIT.java   |   4 +-
 15 files changed, 301 insertions(+), 68 deletions(-)

diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
index 588b9c99f2..a3d4c382e9 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
@@ -418,12 +418,12 @@ public class PartitionManager {
       float maxSlotCount = CONF.getSeriesSlotNum();
 
       /* RegionGroup extension is required in the following cases */
-      // 1. The number of current RegionGroup of the StorageGroup is less than 
the least number
+      // 1. The number of current RegionGroup of the StorageGroup is less than 
the minimum number
       int minRegionGroupNum =
           getClusterSchemaManager().getMinRegionGroupNum(database, 
consensusGroupType);
       if (allocatedRegionGroupCount < minRegionGroupNum) {
         // Let the sum of unassignedPartitionSlotsCount and 
allocatedRegionGroupCount
-        // no less than the leastRegionGroupNum
+        // no less than the minRegionGroupNum
         int delta =
             (int)
                 Math.min(
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
index e3b5037a8f..6f74aae67f 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
@@ -169,13 +169,29 @@ public class ClusterSchemaInfo implements 
SnapshotProcessor {
             Math.max(
                 currentSchema.getMinSchemaRegionGroupNum(),
                 currentSchema.getMaxSchemaRegionGroupNum()));
+        LOGGER.info(
+            "[AdjustRegionGroupNum] The minimum number of SchemaRegionGroups 
for Database: {} is adjusted to: {}",
+            currentSchema.getName(),
+            currentSchema.getMinSchemaRegionGroupNum());
+        LOGGER.info(
+            "[AdjustRegionGroupNum] The maximum number of SchemaRegionGroups 
for Database: {} is adjusted to: {}",
+            currentSchema.getName(),
+            currentSchema.getMaxSchemaRegionGroupNum());
       }
-      if (alterSchema.isSetMaxDataRegionGroupNum()) {
-        
currentSchema.setMaxDataRegionGroupNum(alterSchema.getMinDataRegionGroupNum());
+      if (alterSchema.isSetMinDataRegionGroupNum()) {
+        
currentSchema.setMinDataRegionGroupNum(alterSchema.getMinDataRegionGroupNum());
         currentSchema.setMaxDataRegionGroupNum(
             Math.max(
                 currentSchema.getMinDataRegionGroupNum(),
                 currentSchema.getMaxDataRegionGroupNum()));
+        LOGGER.info(
+            "[AdjustRegionGroupNum] The minimum number of DataRegionGroups for 
Database: {} is adjusted to: {}",
+            currentSchema.getName(),
+            currentSchema.getMinDataRegionGroupNum());
+        LOGGER.info(
+            "[AdjustRegionGroupNum] The maximum number of DataRegionGroups for 
Database: {} is adjusted to: {}",
+            currentSchema.getName(),
+            currentSchema.getMaxDataRegionGroupNum());
       }
 
       mTree
diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index e3c38dbd90..44dbe630c3 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@ -333,7 +333,7 @@ public class ConfigNodeRPCServiceProcessor implements 
IConfigNodeRPCService.Ifac
     }
 
     if (errorResp != null) {
-      LOGGER.warn("Execute SetStorageGroupRequest {} with result {}", 
databaseSchema, errorResp);
+      LOGGER.warn("Execute SetDatabase: {} with result: {}", databaseSchema, 
errorResp);
       return errorResp;
     }
 
@@ -381,7 +381,7 @@ public class ConfigNodeRPCServiceProcessor implements 
IConfigNodeRPCService.Ifac
     }
 
     if (errorResp != null) {
-      LOGGER.warn("Execute SetStorageGroupRequest {} with result {}", 
databaseSchema, errorResp);
+      LOGGER.warn("Execute AlterDatabase: {} with result: {}", databaseSchema, 
errorResp);
       return errorResp;
     }
 
@@ -390,7 +390,7 @@ public class ConfigNodeRPCServiceProcessor implements 
IConfigNodeRPCService.Ifac
     TSStatus resp = configManager.alterDatabase(alterPlan);
 
     // Print log to record the ConfigNode that performs the set 
SetStorageGroupRequest
-    LOGGER.info("Execute SetDatabase: {} with result: {}", databaseSchema, 
resp);
+    LOGGER.info("Execute AlterDatabase: {} with result: {}", databaseSchema, 
resp);
 
     return resp;
   }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
index a5752d3f62..a6682e3fae 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBConfigNodeSnapshotIT.java
@@ -39,7 +39,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TGetTriggerTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TGetUDFTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
@@ -116,9 +115,8 @@ public class IoTDBConfigNodeSnapshotIT {
 
       for (int i = 0; i < storageGroupNum; i++) {
         String storageGroup = sg + i;
-        TSetStorageGroupReq setStorageGroupReq =
-            new TSetStorageGroupReq(new TStorageGroupSchema(storageGroup));
-        TSStatus status = client.setStorageGroup(setStorageGroupReq);
+        TStorageGroupSchema storageGroupSchema = new 
TStorageGroupSchema(storageGroup);
+        TSStatus status = client.setDatabase(storageGroupSchema);
         assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
         for (int j = 0; j < seriesPartitionSlotsNum; j++) {
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
index 5b11d19142..6b8f796c7c 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterRestartIT.java
@@ -26,7 +26,6 @@ import 
org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
 import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.consensus.ConsensusFactory;
@@ -183,7 +182,7 @@ public class IoTDBClusterRestartIT {
       Map<String, Map<TSeriesPartitionSlot, TConsensusGroupId>> 
schemaPartitionTable;
 
       // Set StorageGroups
-      status = client.setStorageGroup(new TSetStorageGroupReq(new 
TStorageGroupSchema(sg0)));
+      status = client.setDatabase((new TStorageGroupSchema(sg0)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
       // Test getSchemaPartition, the result should be empty
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
new file mode 100644
index 0000000000..7eca448735
--- /dev/null
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseRegionControlIT.java
@@ -0,0 +1,236 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.confignode.it.database;
+
+import org.apache.iotdb.commons.client.exception.ClientManagerException;
+import org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
+import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
+import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
+import org.apache.iotdb.it.env.EnvFactory;
+import org.apache.iotdb.it.framework.IoTDBTestRunner;
+import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
+import org.apache.iotdb.rpc.TSStatusCode;
+
+import org.apache.thrift.TException;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Collections;
+import java.util.concurrent.atomic.AtomicInteger;
+
+@RunWith(IoTDBTestRunner.class)
+@Category({LocalStandaloneIT.class, ClusterIT.class})
+public class IoTDBDatabaseRegionControlIT {
+
+  private static final int testDefaultSchemaRegionGroupNumPerDatabase = 1;
+  private static final int testDefaultDataRegionGroupNumPerDatabase = 2;
+
+  private static final int batchSize = 10;
+
+  @BeforeClass
+  public static void setUp() throws Exception {
+    EnvFactory.getEnv()
+        .getConfig()
+        .getCommonConfig()
+        
.setDefaultSchemaRegionGroupNumPerDatabase(testDefaultSchemaRegionGroupNumPerDatabase)
+        
.setDefaultDataRegionGroupNumPerDatabase(testDefaultDataRegionGroupNumPerDatabase);
+
+    // Init 1C1D environment
+    EnvFactory.getEnv().initClusterEnvironment(1, 1);
+  }
+
+  @AfterClass
+  public static void tearDown() {
+    EnvFactory.getEnv().cleanClusterEnvironment();
+  }
+
+  private void insertBatchData(Statement statement, String database, int 
tStart)
+      throws SQLException {
+    for (int i = tStart; i < tStart + batchSize; i++) {
+      final String insertSQL =
+          String.format("INSERT INTO %s.tsito%d(timestamp, s) values(1, 1);", 
database, i);
+      statement.execute(insertSQL);
+    }
+  }
+
+  @Test
+  public void testDefaultRegionGroupNumControl()
+      throws SQLException, ClientManagerException, IOException, 
InterruptedException, TException {
+    try (final Connection connection = EnvFactory.getEnv().getConnection();
+        final Statement statement = connection.createStatement();
+        final SyncConfigNodeIServiceClient configNodeClient =
+            (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
+
+      // Initialize test data
+      final String database = "root.paradise0";
+      String createDatabaseSQL = String.format("CREATE DATABASE %s;", 
database);
+      statement.execute(createDatabaseSQL);
+      insertBatchData(statement, database, 0);
+
+      // Check RegionGroupNum, which should be equal to the default value
+      TShowRegionResp resp =
+          configNodeClient.showRegion(
+              new 
TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+      AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
+      AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
+      Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
resp.getStatus().getCode());
+      resp.getRegionInfoList()
+          .forEach(
+              regionInfo -> {
+                switch (regionInfo.getConsensusGroupId().getType()) {
+                  case SchemaRegion:
+                    schemaRegionGroupNum.getAndIncrement();
+                    break;
+                  case DataRegion:
+                  default:
+                    dataRegionGroupNum.getAndIncrement();
+                    break;
+                }
+              });
+      Assert.assertEquals(testDefaultSchemaRegionGroupNumPerDatabase, 
schemaRegionGroupNum.get());
+      Assert.assertEquals(testDefaultDataRegionGroupNumPerDatabase, 
dataRegionGroupNum.get());
+    }
+  }
+
+  @Test
+  public void testRegionGroupNumControlThroughCreation()
+      throws SQLException, ClientManagerException, IOException, 
InterruptedException, TException {
+    try (final Connection connection = EnvFactory.getEnv().getConnection();
+        final Statement statement = connection.createStatement();
+        final SyncConfigNodeIServiceClient configNodeClient =
+            (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
+
+      // Initialize test data
+      final String database = "root.paradise1";
+      final int testSchemaRegionGroupNum = 2;
+      final int testDataRegionGroupNum = 3;
+      String createDatabaseSQL =
+          String.format(
+              "CREATE DATABASE %s WITH SCHEMA_REGION_GROUP_NUM=%d, 
DATA_REGION_GROUP_NUM=%d;",
+              database, testSchemaRegionGroupNum, testDataRegionGroupNum);
+      statement.execute(createDatabaseSQL);
+      insertBatchData(statement, database, 0);
+
+      // Check RegionGroupNum, which should be equal to the specified value
+      TShowRegionResp resp =
+          configNodeClient.showRegion(
+              new 
TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+      AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
+      AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
+      Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
resp.getStatus().getCode());
+      resp.getRegionInfoList()
+          .forEach(
+              regionInfo -> {
+                switch (regionInfo.getConsensusGroupId().getType()) {
+                  case SchemaRegion:
+                    schemaRegionGroupNum.getAndIncrement();
+                    break;
+                  case DataRegion:
+                  default:
+                    dataRegionGroupNum.getAndIncrement();
+                    break;
+                }
+              });
+      Assert.assertEquals(testSchemaRegionGroupNum, 
schemaRegionGroupNum.get());
+      Assert.assertEquals(testDataRegionGroupNum, dataRegionGroupNum.get());
+    }
+  }
+
+  @Test
+  public void testRegionGroupNumControlThroughAlter()
+      throws SQLException, ClientManagerException, IOException, 
InterruptedException, TException {
+    try (final Connection connection = EnvFactory.getEnv().getConnection();
+        final Statement statement = connection.createStatement();
+        final SyncConfigNodeIServiceClient configNodeClient =
+            (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
+
+      // Initialize test data
+      final String database = "root.paradise2";
+      String createDatabaseSQL = String.format("CREATE DATABASE %s;", 
database);
+      statement.execute(createDatabaseSQL);
+      insertBatchData(statement, database, 0);
+
+      // Check RegionGroupNum, which should be equal to the default value
+      TShowRegionResp resp =
+          configNodeClient.showRegion(
+              new 
TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+      AtomicInteger schemaRegionGroupNum = new AtomicInteger(0);
+      AtomicInteger dataRegionGroupNum = new AtomicInteger(0);
+      Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
resp.getStatus().getCode());
+      resp.getRegionInfoList()
+          .forEach(
+              regionInfo -> {
+                switch (regionInfo.getConsensusGroupId().getType()) {
+                  case SchemaRegion:
+                    schemaRegionGroupNum.getAndIncrement();
+                    break;
+                  case DataRegion:
+                  default:
+                    dataRegionGroupNum.getAndIncrement();
+                    break;
+                }
+              });
+      Assert.assertEquals(testDefaultSchemaRegionGroupNumPerDatabase, 
schemaRegionGroupNum.get());
+      Assert.assertEquals(testDefaultDataRegionGroupNumPerDatabase, 
dataRegionGroupNum.get());
+
+      // Alter DatabaseSchema
+      final int testSchemaRegionGroupNum = 3;
+      final int testDataRegionGroupNum = 3;
+      String alterDatabaseSQL =
+          String.format(
+              "ALTER DATABASE %s WITH SCHEMA_REGION_GROUP_NUM=%d, 
DATA_REGION_GROUP_NUM=%d;",
+              database, testSchemaRegionGroupNum, testDataRegionGroupNum);
+      statement.execute(alterDatabaseSQL);
+      insertBatchData(statement, database, batchSize);
+
+      // Check RegionGroupNum, which should be equal to the specified value
+      resp =
+          configNodeClient.showRegion(
+              new 
TShowRegionReq().setStorageGroups(Collections.singletonList(database)));
+      schemaRegionGroupNum.set(0);
+      dataRegionGroupNum.set(0);
+      Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
resp.getStatus().getCode());
+      resp.getRegionInfoList()
+          .forEach(
+              regionInfo -> {
+                switch (regionInfo.getConsensusGroupId().getType()) {
+                  case SchemaRegion:
+                    schemaRegionGroupNum.getAndIncrement();
+                    break;
+                  case DataRegion:
+                  default:
+                    dataRegionGroupNum.getAndIncrement();
+                    break;
+                }
+              });
+      Assert.assertEquals(testSchemaRegionGroupNum, 
schemaRegionGroupNum.get());
+      Assert.assertEquals(testDataRegionGroupNum, dataRegionGroupNum.get());
+    }
+  }
+}
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBStorageGroupIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
similarity index 85%
rename from 
integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBStorageGroupIT.java
rename to 
integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
index e5ceb71662..654edcf0f4 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBStorageGroupIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/database/IoTDBDatabaseSetAndDeleteIT.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.confignode.it;
+
+package org.apache.iotdb.confignode.it.database;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
@@ -26,13 +27,13 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TCountStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupsReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataReplicationFactorReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetSchemaReplicationFactorReq;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSetTimePartitionIntervalReq;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchemaResp;
 import org.apache.iotdb.it.env.EnvFactory;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.ClusterIT;
+import org.apache.iotdb.itbase.category.LocalStandaloneIT;
 import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.junit.After;
@@ -47,8 +48,8 @@ import java.util.List;
 import java.util.Map;
 
 @RunWith(IoTDBTestRunner.class)
-@Category({ClusterIT.class})
-public class IoTDBStorageGroupIT {
+@Category({LocalStandaloneIT.class, ClusterIT.class})
+public class IoTDBDatabaseSetAndDeleteIT {
 
   @Before
   public void setUp() throws Exception {
@@ -62,43 +63,42 @@ public class IoTDBStorageGroupIT {
   }
 
   @Test
-  public void testSetAndQueryStorageGroup() throws Exception {
+  public void testSetAndQueryDatabase() throws Exception {
     TSStatus status;
     final String sg0 = "root.sg0";
     final String sg1 = "root.sg1";
 
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      // set StorageGroup0 by default values
-      TSetStorageGroupReq setReq0 = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg0));
-      status = client.setStorageGroup(setReq0);
+      // set Database0 by default values
+      TStorageGroupSchema storageGroupSchema0 = new TStorageGroupSchema(sg0);
+      status = client.setDatabase(storageGroupSchema0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
-      // set StorageGroup1 by specific values
-      TSetStorageGroupReq setReq1 =
-          new TSetStorageGroupReq(
-              new TStorageGroupSchema(sg1)
-                  .setTTL(1024L)
-                  .setSchemaReplicationFactor(5)
-                  .setDataReplicationFactor(5)
-                  .setTimePartitionInterval(2048L));
-      status = client.setStorageGroup(setReq1);
+      // set Database1 by specific values
+      TStorageGroupSchema storageGroupSchema1 =
+          new TStorageGroupSchema(sg1)
+              .setTTL(1024L)
+              .setSchemaReplicationFactor(5)
+              .setDataReplicationFactor(5)
+              .setTimePartitionInterval(2048L);
+      status = client.setDatabase(storageGroupSchema1);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
-      // test count all StorageGroups
+      // test count all Databases
       TCountStorageGroupResp countResp =
           client.countMatchedStorageGroups(Arrays.asList("root", "**"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
countResp.getStatus().getCode());
       Assert.assertEquals(2, countResp.getCount());
 
-      // test count one StorageGroup
+      // test count one Database
       countResp = client.countMatchedStorageGroups(Arrays.asList("root", 
"sg0"));
       Assert.assertEquals(
           TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
countResp.getStatus().getCode());
       Assert.assertEquals(1, countResp.getCount());
 
-      // test query all StorageGroupSchemas
+      // test query all DatabaseSchemas
       TStorageGroupSchemaResp getResp =
           client.getMatchedStorageGroupSchemas(Arrays.asList("root", "**"));
       Assert.assertEquals(
@@ -121,10 +121,10 @@ public class IoTDBStorageGroupIT {
       Assert.assertEquals(2048L, 
storageGroupSchema.getTimePartitionInterval());
 
       // test fail by re-register
-      status = client.setStorageGroup(setReq0);
+      status = client.setDatabase(storageGroupSchema0);
       
Assert.assertEquals(TSStatusCode.DATABASE_ALREADY_EXISTS.getStatusCode(), 
status.getCode());
 
-      // test StorageGroup setter interfaces
+      // test Database setter interfaces
       PartialPath patternPath = new PartialPath(sg1);
       status = client.setTTL(new 
TSetTTLReq(Arrays.asList(patternPath.getNodes()), Long.MAX_VALUE));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
@@ -159,13 +159,13 @@ public class IoTDBStorageGroupIT {
 
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TSetStorageGroupReq setReq0 = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg0));
+      TStorageGroupSchema storageGroupSchema0 = new TStorageGroupSchema(sg0);
       // set StorageGroup0 by default values
-      status = client.setStorageGroup(setReq0);
+      status = client.setDatabase(storageGroupSchema0);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
       // set StorageGroup1 by specific values
-      TSetStorageGroupReq setReq1 = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg1));
-      status = client.setStorageGroup(setReq1);
+      TStorageGroupSchema storageGroupSchema1 = new TStorageGroupSchema(sg1);
+      status = client.setDatabase(storageGroupSchema1);
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
       TDeleteStorageGroupsReq deleteStorageGroupsReq = new 
TDeleteStorageGroupsReq();
       List<String> sgs = Arrays.asList(sg0, sg1);
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
index 0339f3efc0..a8bad2f649 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBClusterRegionLeaderBalancingIT.java
@@ -26,7 +26,6 @@ import org.apache.iotdb.commons.cluster.NodeStatus;
 import org.apache.iotdb.commons.cluster.RegionRoleType;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -91,8 +90,7 @@ public class IoTDBClusterRegionLeaderBalancingIT {
 
       // Set StorageGroups
       for (int i = 0; i < storageGroupNum; i++) {
-        TSetStorageGroupReq setReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg + i));
-        status = client.setStorageGroup(setReq);
+        status = client.setDatabase(new TStorageGroupSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
       }
 
@@ -142,8 +140,7 @@ public class IoTDBClusterRegionLeaderBalancingIT {
 
       for (int i = 0; i < storageGroupNum; i++) {
         // Set StorageGroups
-        TSetStorageGroupReq setReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg + i));
-        status = client.setStorageGroup(setReq);
+        status = client.setDatabase(new TStorageGroupSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
         // Create a DataRegionGroup for each StorageGroup
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
index f48941db02..236d0df9e3 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBConfigNodeSwitchLeaderIT.java
@@ -27,7 +27,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
 import org.apache.iotdb.confignode.rpc.thrift.TTimeSlotList;
 import org.apache.iotdb.consensus.ConsensusFactory;
@@ -103,9 +102,9 @@ public class IoTDBConfigNodeSwitchLeaderIT {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       // Set StorageGroups
-      status = client.setStorageGroup(new TSetStorageGroupReq(new 
TStorageGroupSchema(sg0)));
+      status = client.setDatabase((new TStorageGroupSchema(sg0)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
-      status = client.setStorageGroup(new TSetStorageGroupReq(new 
TStorageGroupSchema(sg1)));
+      status = client.setDatabase((new TStorageGroupSchema(sg1)));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
       // Create SchemaRegionGroups through getOrCreateSchemaPartition and 
record
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
index 1c887ef244..030b249a8e 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBAutoRegionGroupExtensionIT.java
@@ -29,7 +29,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TDeleteStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -128,11 +127,10 @@ public class IoTDBAutoRegionGroupExtensionIT {
     for (int i = 0; i < testSgNum; i++) {
       String curSg = sg + i;
       TSStatus status =
-          client.setStorageGroup(
-              new TSetStorageGroupReq(
-                  new TStorageGroupSchema(curSg)
-                      .setMinSchemaRegionGroupNum(testMinSchemaRegionGroupNum)
-                      .setMinDataRegionGroupNum(testMinDataRegionGroupNum)));
+          client.setDatabase(
+              new TStorageGroupSchema(curSg)
+                  .setMinSchemaRegionGroupNum(testMinSchemaRegionGroupNum)
+                  .setMinDataRegionGroupNum(testMinDataRegionGroupNum));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
       // Insert SchemaPartitions to create SchemaRegionGroups
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
index 2342804fa2..6ee12cef1c 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBCustomRegionGroupExtensionIT.java
@@ -27,7 +27,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -100,8 +99,7 @@ public class IoTDBCustomRegionGroupExtensionIT {
         String curSg = sg + i;
 
         /* Set StorageGroup */
-        TSetStorageGroupReq setReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(curSg));
-        TSStatus status = client.setStorageGroup(setReq);
+        TSStatus status = client.setDatabase(new TStorageGroupSchema(curSg));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
 
         /* Insert a DataPartition to create DataRegionGroups */
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
index 2dcccfa981..f978bcf425 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionCreationIT.java
@@ -30,7 +30,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataNodeStatusReq;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
@@ -101,8 +100,7 @@ public class IoTDBPartitionCreationIT {
   private void setStorageGroup() throws Exception {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TSetStorageGroupReq setStorageGroupReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg));
-      TSStatus status = client.setStorageGroup(setStorageGroupReq);
+      TSStatus status = client.setDatabase(new TStorageGroupSchema(sg));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
     }
   }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
index ad03ec53e1..16b33942c5 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableIT.java
@@ -34,7 +34,6 @@ import org.apache.iotdb.confignode.rpc.thrift.TRegionInfo;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSetDataNodeStatusReq;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowClusterResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
@@ -111,8 +110,7 @@ public class IoTDBPartitionDurableIT {
   private void setStorageGroup() throws Exception {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
-      TSetStorageGroupReq setStorageGroupReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg));
-      TSStatus status = client.setStorageGroup(setStorageGroupReq);
+      TSStatus status = client.setDatabase(new TStorageGroupSchema(sg));
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
     }
   }
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
index e66f36f135..6a851fea09 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionGetterIT.java
@@ -38,7 +38,6 @@ import 
org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaNodeManagementResp;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TSchemaPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowDataNodesResp;
 import org.apache.iotdb.confignode.rpc.thrift.TShowStorageGroupResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -113,8 +112,7 @@ public class IoTDBPartitionGetterIT {
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       /* Set StorageGroups */
       for (int i = 0; i < storageGroupNum; i++) {
-        TSetStorageGroupReq setReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg + i));
-        TSStatus status = client.setStorageGroup(setReq);
+        TSStatus status = client.setDatabase(new TStorageGroupSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
       }
 
diff --git 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
index 1e82f081f9..f4a054bc0a 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyIT.java
@@ -24,7 +24,6 @@ import 
org.apache.iotdb.commons.client.sync.SyncConfigNodeIServiceClient;
 import org.apache.iotdb.confignode.it.utils.ConfigNodeTestUtils;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TDataPartitionTableResp;
-import org.apache.iotdb.confignode.rpc.thrift.TSetStorageGroupReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionReq;
 import org.apache.iotdb.confignode.rpc.thrift.TShowRegionResp;
 import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
@@ -83,8 +82,7 @@ public class IoTDBPartitionInheritPolicyIT {
     try (SyncConfigNodeIServiceClient client =
         (SyncConfigNodeIServiceClient) 
EnvFactory.getEnv().getLeaderConfigNodeConnection()) {
       for (int i = 0; i < storageGroupNum; i++) {
-        TSetStorageGroupReq setReq = new TSetStorageGroupReq(new 
TStorageGroupSchema(sg + i));
-        TSStatus status = client.setStorageGroup(setReq);
+        TSStatus status = client.setDatabase(new TStorageGroupSchema(sg + i));
         Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), 
status.getCode());
       }
     }


Reply via email to