You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/07/01 12:29:28 UTC
[iotdb] branch master updated: [IOTDB-3529] Rename Region to RegionGroup and optimize the SetTTL process (#6552)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin 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 d08093e531 [IOTDB-3529] Rename Region to RegionGroup and optimize the SetTTL process (#6552)
d08093e531 is described below
commit d08093e5312c644f037c183548af6423cd0ff389
Author: YongzaoDan <33...@users.noreply.github.com>
AuthorDate: Fri Jul 1 20:29:23 2022 +0800
[IOTDB-3529] Rename Region to RegionGroup and optimize the SetTTL process (#6552)
---
.../confignode/client/AsyncDataNodeClientPool.java | 44 ++++++++++++---
.../confignode/client/SyncDataNodeClientPool.java | 15 -----
.../confignode/client/handlers/SetTTLHandler.java | 58 +++++++++++++++++++
.../consensus/request/ConfigPhysicalPlan.java | 4 +-
...egionsPlan.java => CreateRegionGroupsPlan.java} | 6 +-
.../confignode/manager/ClusterSchemaManager.java | 46 ++++++++++++++-
.../iotdb/confignode/manager/ConfigManager.java | 29 ----------
.../iotdb/confignode/manager/PartitionManager.java | 12 +++-
.../iotdb/confignode/manager/load/LoadManager.java | 4 +-
.../manager/load/balancer/RegionBalancer.java | 6 +-
.../persistence/executor/ConfigPlanExecutor.java | 4 +-
.../persistence/partition/PartitionInfo.java | 32 +++++++----
.../partition/StorageGroupPartitionTable.java | 66 +++++++++++-----------
.../request/ConfigPhysicalPlanSerDeTest.java | 8 +--
.../confignode/persistence/PartitionInfoTest.java | 18 +++---
15 files changed, 227 insertions(+), 125 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java b/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
index afc4940cfd..c8c0e052f8 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncDataNodeClientPool.java
@@ -23,13 +23,15 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.common.rpc.thrift.TFlushReq;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.client.async.AsyncDataNodeInternalServiceClient;
import org.apache.iotdb.confignode.client.handlers.CreateRegionHandler;
import org.apache.iotdb.confignode.client.handlers.DataNodeHeartbeatHandler;
import org.apache.iotdb.confignode.client.handlers.FlushHandler;
import org.apache.iotdb.confignode.client.handlers.FunctionManagementHandler;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.client.handlers.SetTTLHandler;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.mpp.rpc.thrift.TCreateDataRegionReq;
import org.apache.iotdb.mpp.rpc.thrift.TCreateFunctionRequest;
import org.apache.iotdb.mpp.rpc.thrift.TCreateSchemaRegionReq;
@@ -67,7 +69,10 @@ public class AsyncDataNodeClientPool {
* @param createRegionGroupsPlan CreateRegionsReq
* @param ttlMap Map<StorageGroupName, TTL>
*/
- public void createRegions(CreateRegionsPlan createRegionGroupsPlan, Map<String, Long> ttlMap) {
+ public void createRegions(
+ CreateRegionGroupsPlan createRegionGroupsPlan, Map<String, Long> ttlMap) {
+
+ // TODO: Unify retry logic
// Index of each Region
int index = 0;
@@ -163,6 +168,7 @@ public class AsyncDataNodeClientPool {
private TCreateSchemaRegionReq genCreateSchemaRegionReq(
String storageGroup, TRegionReplicaSet regionReplicaSet) {
+ // TODO: Add a retry logic
TCreateSchemaRegionReq req = new TCreateSchemaRegionReq();
req.setStorageGroup(storageGroup);
req.setRegionReplicaSet(regionReplicaSet);
@@ -176,6 +182,7 @@ public class AsyncDataNodeClientPool {
*/
private void createSchemaRegion(
TEndPoint endPoint, TCreateSchemaRegionReq req, CreateRegionHandler handler) {
+ // TODO: Add a retry logic
AsyncDataNodeInternalServiceClient client;
try {
client = clientManager.borrowClient(endPoint);
@@ -189,6 +196,7 @@ public class AsyncDataNodeClientPool {
private TCreateDataRegionReq genCreateDataRegionReq(
String storageGroup, TRegionReplicaSet regionReplicaSet, long TTL) {
+ // TODO: Add a retry logic
TCreateDataRegionReq req = new TCreateDataRegionReq();
req.setStorageGroup(storageGroup);
req.setRegionReplicaSet(regionReplicaSet);
@@ -203,6 +211,7 @@ public class AsyncDataNodeClientPool {
*/
public void createDataRegion(
TEndPoint endPoint, TCreateDataRegionReq req, CreateRegionHandler handler) {
+ // TODO: Add a retry logic
AsyncDataNodeInternalServiceClient client;
try {
client = clientManager.borrowClient(endPoint);
@@ -221,6 +230,7 @@ public class AsyncDataNodeClientPool {
*/
public void getDataNodeHeartBeat(
TEndPoint endPoint, THeartbeatReq req, DataNodeHeartbeatHandler handler) {
+ // TODO: Add a retry logic
AsyncDataNodeInternalServiceClient client;
try {
client = clientManager.borrowClient(endPoint);
@@ -246,6 +256,7 @@ public class AsyncDataNodeClientPool {
*/
public void createFunction(
TEndPoint endPoint, TCreateFunctionRequest request, FunctionManagementHandler handler) {
+ // TODO: Add a retry logic
try {
clientManager.borrowClient(endPoint).createFunction(request, handler);
} catch (Exception e) {
@@ -260,6 +271,7 @@ public class AsyncDataNodeClientPool {
*/
public void dropFunction(
TEndPoint endPoint, TDropFunctionRequest request, FunctionManagementHandler handler) {
+ // TODO: Add a retry logic
try {
clientManager.borrowClient(endPoint).dropFunction(request, handler);
} catch (Exception e) {
@@ -273,13 +285,27 @@ public class AsyncDataNodeClientPool {
* @param endPoint The specific DataNode
*/
public void flush(TEndPoint endPoint, TFlushReq flushReq, FlushHandler handler) {
- for (int retry = 0; retry < 3; retry++) {
- try {
- clientManager.borrowClient(endPoint).flush(flushReq, handler);
- return;
- } catch (Exception e) {
- LOGGER.error("Failed to asking DataNode to flush: {}", endPoint, e);
- }
+ // TODO: Add a retry logic
+ try {
+ clientManager.borrowClient(endPoint).flush(flushReq, handler);
+ } catch (Exception e) {
+ LOGGER.error("Failed to asking DataNode to flush: {}", endPoint, e);
+ }
+ }
+
+ /**
+ * Set TTL on specific DataNode
+ *
+ * @param endPoint The specific DataNode
+ */
+ public void setTTL(TEndPoint endPoint, TSetTTLReq setTTLReq, SetTTLHandler handler) {
+ // TODO: Add a retry logic
+ try {
+ clientManager.borrowClient(endPoint).setTTL(setTTLReq, handler);
+ } catch (IOException e) {
+ LOGGER.error("Can't connect to DataNode {}", endPoint, e);
+ } catch (TException e) {
+ LOGGER.error("Set TTL on DataNode {} failed", endPoint, e);
}
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/client/SyncDataNodeClientPool.java b/confignode/src/main/java/org/apache/iotdb/confignode/client/SyncDataNodeClientPool.java
index c06bcf2ce9..22f184a345 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/client/SyncDataNodeClientPool.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/client/SyncDataNodeClientPool.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.client.sync.SyncDataNodeInternalServiceClient;
import org.apache.iotdb.mpp.rpc.thrift.TInvalidateCacheReq;
@@ -150,18 +149,4 @@ public class SyncDataNodeClientPool {
public static SyncDataNodeClientPool getInstance() {
return ClientPoolHolder.INSTANCE;
}
-
- public TSStatus setTTL(TEndPoint endPoint, TSetTTLReq setTTLReq) {
- TSStatus status;
- try (SyncDataNodeInternalServiceClient client = clientManager.borrowClient(endPoint)) {
- status = client.setTTL(setTTLReq);
- } catch (IOException e) {
- LOGGER.error("Can't connect to DataNode {}", endPoint, e);
- status = new TSStatus(TSStatusCode.TIME_OUT.getStatusCode());
- } catch (TException e) {
- LOGGER.error("setTTL on DataNode {} failed", endPoint, e);
- status = new TSStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode());
- }
- return status;
- }
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/SetTTLHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/SetTTLHandler.java
new file mode 100644
index 0000000000..c31efe1030
--- /dev/null
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/SetTTLHandler.java
@@ -0,0 +1,58 @@
+/*
+ * 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.client.handlers;
+
+import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.rpc.TSStatusCode;
+
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.CountDownLatch;
+
+public class SetTTLHandler implements AsyncMethodCallback<TSStatus> {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(SetTTLHandler.class);
+
+ private final TDataNodeLocation dataNodeLocation;
+ private final CountDownLatch latch;
+
+ public SetTTLHandler(TDataNodeLocation dataNodeLocation, CountDownLatch latch) {
+ this.dataNodeLocation = dataNodeLocation;
+ this.latch = latch;
+ }
+
+ @Override
+ public void onComplete(TSStatus status) {
+ if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
+ LOGGER.info("Successfully SetTTL on DataNode: {}", dataNodeLocation);
+ } else {
+ LOGGER.error("Failed to SetTTL on DataNode: {}, {}", dataNodeLocation, status);
+ }
+ latch.countDown();
+ }
+
+ @Override
+ public void onError(Exception e) {
+ latch.countDown();
+ LOGGER.error("Failed to SetTTL on DataNode: {}", dataNodeLocation);
+ }
+}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
index d1b5a5c234..900126c325 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java
@@ -32,7 +32,7 @@ import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupC
import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsPlan;
@@ -129,7 +129,7 @@ public abstract class ConfigPhysicalPlan implements IConsensusRequest {
req = new GetStorageGroupPlan();
break;
case CreateRegionGroups:
- req = new CreateRegionsPlan();
+ req = new CreateRegionGroupsPlan();
break;
case DeleteRegions:
req = new DeleteRegionsPlan();
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionGroupsPlan.java
similarity index 95%
rename from confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java
rename to confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionGroupsPlan.java
index ecbeec7ed2..fa0d288d72 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionsPlan.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionGroupsPlan.java
@@ -35,12 +35,12 @@ import java.util.Objects;
import java.util.TreeMap;
/** Create regions for specific StorageGroups */
-public class CreateRegionsPlan extends ConfigPhysicalPlan {
+public class CreateRegionGroupsPlan extends ConfigPhysicalPlan {
// Map<StorageGroupName, List<TRegionReplicaSet>>
private final Map<String, List<TRegionReplicaSet>> regionGroupMap;
- public CreateRegionsPlan() {
+ public CreateRegionGroupsPlan() {
super(ConfigPhysicalPlanType.CreateRegionGroups);
this.regionGroupMap = new TreeMap<>();
}
@@ -91,7 +91,7 @@ public class CreateRegionsPlan extends ConfigPhysicalPlan {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- CreateRegionsPlan that = (CreateRegionsPlan) o;
+ CreateRegionGroupsPlan that = (CreateRegionGroupsPlan) o;
return regionGroupMap.equals(that.regionGroupMap);
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
index 9c9dd86546..235377855e 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterSchemaManager.java
@@ -19,9 +19,13 @@
package org.apache.iotdb.confignode.manager;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
+import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.confignode.client.AsyncDataNodeClientPool;
+import org.apache.iotdb.confignode.client.handlers.SetTTLHandler;
import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
import org.apache.iotdb.confignode.consensus.request.read.CountStorageGroupPlan;
import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
@@ -36,6 +40,7 @@ import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
import org.apache.iotdb.confignode.persistence.ClusterSchemaInfo;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
import org.apache.iotdb.consensus.common.DataSet;
+import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.iotdb.tsfile.utils.Pair;
@@ -44,6 +49,8 @@ import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
/** The ClusterSchemaManager Manages cluster schema read and write requests. */
public class ClusterSchemaManager {
@@ -122,8 +129,45 @@ public class ClusterSchemaManager {
return getConsensusManager().read(getStorageGroupPlan).getDataset();
}
+ /**
+ * Update TTL for the specific StorageGroup
+ *
+ * @param setTTLPlan setTTLPlan
+ * @return SUCCESS_STATUS if successfully update the TTL, STORAGE_GROUP_NOT_EXIST if the specific
+ * StorageGroup doesn't exist
+ */
public TSStatus setTTL(SetTTLPlan setTTLPlan) {
- // TODO: Inform DataNodes
+
+ if (!getStorageGroupNames().contains(setTTLPlan.getStorageGroup())) {
+ return RpcUtils.getStatus(
+ TSStatusCode.STORAGE_GROUP_NOT_EXIST,
+ "storageGroup " + setTTLPlan.getStorageGroup() + " does not exist");
+ }
+
+ Set<TDataNodeLocation> dataNodeLocations =
+ getPartitionManager()
+ .getStorageGroupRelatedDataNodes(
+ setTTLPlan.getStorageGroup(), TConsensusGroupType.DataRegion);
+ if (dataNodeLocations.size() > 0) {
+ // TODO: Use procedure to protect SetTTL on DataNodes
+ CountDownLatch latch = new CountDownLatch(dataNodeLocations.size());
+ for (TDataNodeLocation dataNodeLocation : dataNodeLocations) {
+ SetTTLHandler handler = new SetTTLHandler(dataNodeLocation, latch);
+ AsyncDataNodeClientPool.getInstance()
+ .setTTL(
+ dataNodeLocation.getInternalEndPoint(),
+ new TSetTTLReq(setTTLPlan.getStorageGroup(), setTTLPlan.getTTL()),
+ handler);
+ }
+
+ try {
+ // Waiting until this batch of SetTTL requests done
+ latch.await();
+ } catch (InterruptedException e) {
+ LOGGER.error("ClusterSchemaManager was interrupted during SetTTL on DataNodes", e);
+ }
+ }
+
return getConsensusManager().write(setTTLPlan).getStatus();
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index bff49a01ea..9d56895b03 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -20,13 +20,11 @@
package org.apache.iotdb.confignode.manager;
import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TFlushReq;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.common.rpc.thrift.TSeriesPartitionSlot;
-import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -34,7 +32,6 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.utils.AuthUtils;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.commons.utils.StatusUtils;
-import org.apache.iotdb.confignode.client.SyncDataNodeClientPool;
import org.apache.iotdb.confignode.conf.ConfigNodeConfig;
import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
import org.apache.iotdb.confignode.consensus.request.auth.AuthorPlan;
@@ -217,32 +214,6 @@ public class ConfigManager implements IManager {
public TSStatus setTTL(SetTTLPlan setTTLPlan) {
TSStatus status = confirmLeader();
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- if (!clusterSchemaManager
- .getStorageGroupNames()
- .contains(setTTLPlan.getStorageGroup().toString())) {
- return RpcUtils.getStatus(
- TSStatusCode.STORAGE_GROUP_NOT_EXIST,
- "storageGroup " + setTTLPlan.getStorageGroup() + " does not exist");
- }
- Set<TDataNodeLocation> dataNodeLocations =
- getPartitionManager()
- .getDataNodeLocation(setTTLPlan.getStorageGroup(), TConsensusGroupType.DataRegion);
- if (dataNodeLocations.size() != 0) {
- for (TDataNodeLocation dataNodeLocation : dataNodeLocations) {
- List<TDataNodeInfo> onlineDataNodes =
- getNodeManager().getOnlineDataNodes(dataNodeLocation.getDataNodeId());
- for (TDataNodeInfo dataNodeInfo : onlineDataNodes) {
- status =
- SyncDataNodeClientPool.getInstance()
- .setTTL(
- dataNodeInfo.getLocation().getInternalEndPoint(),
- new TSetTTLReq(setTTLPlan.getStorageGroup(), setTTLPlan.getTTL()));
- if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
- return status;
- }
- }
- }
- }
return clusterSchemaManager.setTTL(setTTLPlan);
} else {
return status;
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
index 7d20d7cca9..2940ebfe14 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
@@ -425,8 +425,16 @@ public class PartitionManager {
throw new TimeoutException("");
}
- public Set<TDataNodeLocation> getDataNodeLocation(String storageGroup, TConsensusGroupType type) {
- return partitionInfo.getDataNodeLocation(storageGroup, type);
+ /**
+ * Get the DataNodes who contain the specific StorageGroup's Schema or Data
+ *
+ * @param storageGroup The specific StorageGroup's name
+ * @param type SchemaRegion or DataRegion
+ * @return Set<TDataNodeLocation>, the related DataNodes
+ */
+ public Set<TDataNodeLocation> getStorageGroupRelatedDataNodes(
+ String storageGroup, TConsensusGroupType type) {
+ return partitionInfo.getStorageGroupRelatedDataNodes(storageGroup, type);
}
/**
* Only leader use this interface
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
index e1c1d79421..f8b0e04358 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
@@ -35,7 +35,7 @@ import org.apache.iotdb.confignode.client.AsyncDataNodeClientPool;
import org.apache.iotdb.confignode.client.handlers.ConfigNodeHeartbeatHandler;
import org.apache.iotdb.confignode.client.handlers.DataNodeHeartbeatHandler;
import org.apache.iotdb.confignode.conf.ConfigNodeDescriptor;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
import org.apache.iotdb.confignode.manager.ClusterSchemaManager;
@@ -121,7 +121,7 @@ public class LoadManager {
public void doRegionCreation(
Map<String, Integer> allotmentMap, TConsensusGroupType consensusGroupType)
throws NotEnoughDataNodeException, StorageGroupNotExistsException {
- CreateRegionsPlan createRegionGroupsPlan =
+ CreateRegionGroupsPlan createRegionGroupsPlan =
regionBalancer.genRegionsAllocationPlan(allotmentMap, consensusGroupType);
// TODO: Use procedure to protect the following process
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
index 121c1f449b..421a726c9a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RegionBalancer.java
@@ -22,7 +22,7 @@ import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeInfo;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.exception.NotEnoughDataNodeException;
import org.apache.iotdb.confignode.exception.StorageGroupNotExistsException;
import org.apache.iotdb.confignode.manager.ClusterSchemaManager;
@@ -56,10 +56,10 @@ public class RegionBalancer {
* @throws NotEnoughDataNodeException When the number of DataNodes is not enough for allocation
* @throws StorageGroupNotExistsException When some StorageGroups don't exist
*/
- public CreateRegionsPlan genRegionsAllocationPlan(
+ public CreateRegionGroupsPlan genRegionsAllocationPlan(
Map<String, Integer> allotmentMap, TConsensusGroupType consensusGroupType)
throws NotEnoughDataNodeException, StorageGroupNotExistsException {
- CreateRegionsPlan createRegionGroupsPlan = new CreateRegionsPlan();
+ CreateRegionGroupsPlan createRegionGroupsPlan = new CreateRegionGroupsPlan();
IRegionAllocator regionAllocator = genRegionAllocator();
List<TDataNodeInfo> onlineDataNodes = getNodeManager().getOnlineDataNodes(-1);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
index 76554207c2..a081e5c526 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigPlanExecutor.java
@@ -35,7 +35,7 @@ import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupC
import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateFunctionPlan;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
@@ -167,7 +167,7 @@ public class ConfigPlanExecutor {
case SetTimePartitionInterval:
return clusterSchemaInfo.setTimePartitionInterval((SetTimePartitionIntervalPlan) req);
case CreateRegionGroups:
- return partitionInfo.createRegionGroups((CreateRegionsPlan) req);
+ return partitionInfo.createRegionGroups((CreateRegionGroupsPlan) req);
case CreateSchemaPartition:
return partitionInfo.createSchemaPartition((CreateSchemaPartitionPlan) req);
case CreateDataPartition:
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
index 4f56c7847d..52d3e8b120 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/PartitionInfo.java
@@ -34,7 +34,7 @@ import org.apache.iotdb.confignode.consensus.request.read.GetDataPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
import org.apache.iotdb.confignode.consensus.request.read.GetSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteStorageGroupPlan;
import org.apache.iotdb.confignode.consensus.request.write.PreDeleteStorageGroupPlan;
@@ -126,7 +126,7 @@ public class PartitionInfo implements SnapshotProcessor {
Metric.REGION.toString(),
MetricLevel.IMPORTANT,
this,
- o -> o.updateRegionMetric(TConsensusGroupType.SchemaRegion),
+ o -> o.updateRegionGroupMetric(TConsensusGroupType.SchemaRegion),
Tag.NAME.toString(),
"total",
Tag.TYPE.toString(),
@@ -137,7 +137,7 @@ public class PartitionInfo implements SnapshotProcessor {
Metric.REGION.toString(),
MetricLevel.IMPORTANT,
this,
- o -> o.updateRegionMetric(TConsensusGroupType.DataRegion),
+ o -> o.updateRegionGroupMetric(TConsensusGroupType.DataRegion),
Tag.NAME.toString(),
"total",
Tag.TYPE.toString(),
@@ -172,7 +172,7 @@ public class PartitionInfo implements SnapshotProcessor {
* @param plan CreateRegionGroupsPlan
* @return SUCCESS_STATUS
*/
- public TSStatus createRegionGroups(CreateRegionsPlan plan) {
+ public TSStatus createRegionGroups(CreateRegionGroupsPlan plan) {
TSStatus result;
AtomicInteger maxRegionId = new AtomicInteger(Integer.MIN_VALUE);
@@ -524,7 +524,7 @@ public class PartitionInfo implements SnapshotProcessor {
throw new StorageGroupNotExistsException(storageGroup);
}
- return storageGroupPartitionTables.get(storageGroup).getRegionCount(type);
+ return storageGroupPartitionTables.get(storageGroup).getRegionGroupCount(type);
}
public int getSlotCount(String storageGroup) {
@@ -562,8 +562,16 @@ public class PartitionInfo implements SnapshotProcessor {
return storageGroupPartitionTables.get(storageGroup).getRegionAllocationParticle(type);
}
- public Set<TDataNodeLocation> getDataNodeLocation(String storageGroup, TConsensusGroupType type) {
- return storageGroupPartitionTables.get(storageGroup).getDataNodeLocation(type);
+ /**
+ * Get the DataNodes who contain the specific StorageGroup's Schema or Data
+ *
+ * @param storageGroup The specific StorageGroup's name
+ * @param type SchemaRegion or DataRegion
+ * @return Set<TDataNodeLocation>, the related DataNodes
+ */
+ public Set<TDataNodeLocation> getStorageGroupRelatedDataNodes(
+ String storageGroup, TConsensusGroupType type) {
+ return storageGroupPartitionTables.get(storageGroup).getStorageGroupRelatedDataNodes(type);
}
/**
@@ -575,7 +583,7 @@ public class PartitionInfo implements SnapshotProcessor {
*/
public List<Pair<Long, TConsensusGroupId>> getSortedRegionSlotsCounter(
String storageGroup, TConsensusGroupType type) {
- return storageGroupPartitionTables.get(storageGroup).getSortedRegionSlotsCounter(type);
+ return storageGroupPartitionTables.get(storageGroup).getSortedRegionGroupSlotsCounter(type);
}
/**
@@ -588,22 +596,22 @@ public class PartitionInfo implements SnapshotProcessor {
Set<RegionGroup> regionGroups = new HashSet<>();
for (Map.Entry<String, StorageGroupPartitionTable> entry :
storageGroupPartitionTables.entrySet()) {
- regionGroups.addAll(entry.getValue().getRegion(type));
+ regionGroups.addAll(entry.getValue().getRegionGroups(type));
}
return regionGroups.size();
}
/**
- * update region-related metric
+ * Update RegionGroup-related metric
*
* @param type SchemaRegion or DataRegion
* @return the number of SchemaRegion or DataRegion
*/
- private int updateRegionMetric(TConsensusGroupType type) {
+ private int updateRegionGroupMetric(TConsensusGroupType type) {
Set<RegionGroup> regionGroups = new HashSet<>();
for (Map.Entry<String, StorageGroupPartitionTable> entry :
storageGroupPartitionTables.entrySet()) {
- regionGroups.addAll(entry.getValue().getRegion(type));
+ regionGroups.addAll(entry.getValue().getRegionGroups(type));
}
int result = regionGroups.size();
// datanode location -> region number
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
index 1d92dbc3c7..e4a6ed4431 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/StorageGroupPartitionTable.java
@@ -56,6 +56,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
public class StorageGroupPartitionTable {
+
private volatile boolean isPredeleted = false;
// The name of storage group
private String storageGroupName;
@@ -69,7 +70,7 @@ public class StorageGroupPartitionTable {
private final AtomicBoolean dataRegionParticle;
// Region
- private final Map<TConsensusGroupId, RegionGroup> regionInfoMap;
+ private final Map<TConsensusGroupId, RegionGroup> regionGroupMap;
// SchemaPartition
private final SchemaPartitionTable schemaPartitionTable;
// DataPartition
@@ -81,7 +82,7 @@ public class StorageGroupPartitionTable {
this.schemaRegionParticle = new AtomicBoolean(true);
this.dataRegionParticle = new AtomicBoolean(true);
- this.regionInfoMap = new ConcurrentHashMap<>();
+ this.regionGroupMap = new ConcurrentHashMap<>();
this.schemaPartitionTable = new SchemaPartitionTable();
this.dataPartitionTable = new DataPartitionTable();
@@ -97,7 +98,7 @@ public class StorageGroupPartitionTable {
Metric.REGION.toString(),
MetricLevel.NORMAL,
this,
- o -> o.getRegionCount(TConsensusGroupType.SchemaRegion),
+ o -> o.getRegionGroupCount(TConsensusGroupType.SchemaRegion),
Tag.NAME.toString(),
storageGroupName,
Tag.TYPE.toString(),
@@ -108,7 +109,7 @@ public class StorageGroupPartitionTable {
Metric.REGION.toString(),
MetricLevel.NORMAL,
this,
- o -> o.getRegionCount(TConsensusGroupType.DataRegion),
+ o -> o.getRegionGroupCount(TConsensusGroupType.DataRegion),
Tag.NAME.toString(),
storageGroupName,
Tag.TYPE.toString(),
@@ -154,14 +155,14 @@ public class StorageGroupPartitionTable {
*/
public void createRegionGroups(List<TRegionReplicaSet> replicaSets) {
replicaSets.forEach(
- replicaSet -> regionInfoMap.put(replicaSet.getRegionId(), new RegionGroup(replicaSet)));
+ replicaSet -> regionGroupMap.put(replicaSet.getRegionId(), new RegionGroup(replicaSet)));
}
/** @return All Regions' RegionReplicaSet within one StorageGroup */
public List<TRegionReplicaSet> getAllReplicaSets() {
List<TRegionReplicaSet> result = new ArrayList<>();
- for (RegionGroup regionGroup : regionInfoMap.values()) {
+ for (RegionGroup regionGroup : regionGroupMap.values()) {
result.add(regionGroup.getReplicaSet());
}
@@ -169,14 +170,14 @@ public class StorageGroupPartitionTable {
}
/**
- * Get regions currently owned by this StorageGroup
+ * Get all RegionGroups currently owned by this StorageGroup
*
* @param type SchemaRegion or DataRegion
* @return The regions currently owned by this StorageGroup
*/
- public Set<RegionGroup> getRegion(TConsensusGroupType type) {
+ public Set<RegionGroup> getRegionGroups(TConsensusGroupType type) {
Set<RegionGroup> regionGroups = new HashSet<>();
- regionInfoMap
+ regionGroupMap
.values()
.forEach(
regionGroup -> {
@@ -187,14 +188,14 @@ public class StorageGroupPartitionTable {
return regionGroups;
}
/**
- * Get the number of Regions currently owned by this StorageGroup
+ * Get the number of RegionGroups currently owned by this StorageGroup
*
* @param type SchemaRegion or DataRegion
* @return The number of Regions currently owned by this StorageGroup
*/
- public int getRegionCount(TConsensusGroupType type) {
+ public int getRegionGroupCount(TConsensusGroupType type) {
AtomicInteger result = new AtomicInteger(0);
- regionInfoMap
+ regionGroupMap
.values()
.forEach(
regionGroup -> {
@@ -296,7 +297,7 @@ public class StorageGroupPartitionTable {
deltaMap.forEach(
((consensusGroupId, delta) -> {
total.getAndAdd(delta.get());
- regionInfoMap.get(consensusGroupId).addCounter(delta.get());
+ regionGroupMap.get(consensusGroupId).addCounter(delta.get());
}));
seriesPartitionSlotsCount.getAndAdd(total.get());
}
@@ -316,7 +317,7 @@ public class StorageGroupPartitionTable {
deltaMap.forEach(
((consensusGroupId, delta) -> {
total.getAndAdd(delta.get());
- regionInfoMap.get(consensusGroupId).addCounter(delta.get());
+ regionGroupMap.get(consensusGroupId).addCounter(delta.get());
}));
}
@@ -332,18 +333,18 @@ public class StorageGroupPartitionTable {
return schemaPartitionTable.filterUnassignedSchemaPartitionSlots(partitionSlots);
}
- public Set<TDataNodeLocation> getDataNodeLocation(TConsensusGroupType type) {
+ /**
+ * Get the DataNodes who contain the specific StorageGroup's Schema or Data
+ *
+ * @param type SchemaRegion or DataRegion
+ * @return Set<TDataNodeLocation>, the related DataNodes
+ */
+ public Set<TDataNodeLocation> getStorageGroupRelatedDataNodes(TConsensusGroupType type) {
HashSet<TDataNodeLocation> result = new HashSet<>();
- regionInfoMap.forEach(
+ regionGroupMap.forEach(
(consensusGroupId, regionGroup) -> {
if (consensusGroupId.getType().equals(type)) {
- regionGroup
- .getReplicaSet()
- .getDataNodeLocations()
- .forEach(
- (dataNodeLocation) -> {
- result.add(dataNodeLocation);
- });
+ result.addAll(regionGroup.getReplicaSet().getDataNodeLocations());
}
});
return result;
@@ -365,12 +366,13 @@ public class StorageGroupPartitionTable {
* Only leader use this interface.
*
* @param type SchemaRegion or DataRegion
- * @return Regions that sorted by the number of allocated slots
+ * @return RegionGroups' indexes that sorted by the number of allocated slots
*/
- public List<Pair<Long, TConsensusGroupId>> getSortedRegionSlotsCounter(TConsensusGroupType type) {
+ public List<Pair<Long, TConsensusGroupId>> getSortedRegionGroupSlotsCounter(
+ TConsensusGroupType type) {
List<Pair<Long, TConsensusGroupId>> result = new Vector<>();
- regionInfoMap.forEach(
+ regionGroupMap.forEach(
(consensusGroupId, regionGroup) -> {
if (consensusGroupId.getType().equals(type)) {
result.add(new Pair<>(regionGroup.getCounter(), consensusGroupId));
@@ -383,7 +385,7 @@ public class StorageGroupPartitionTable {
public void getRegionInfoList(
GetRegionInfoListPlan regionsInfoPlan, List<TRegionInfo> regionInfoList) {
- regionInfoMap.forEach(
+ regionGroupMap.forEach(
(consensusGroupId, regionGroup) -> {
TRegionReplicaSet replicaSet = regionGroup.getReplicaSet();
if (regionsInfoPlan.getRegionType() == null) {
@@ -426,8 +428,8 @@ public class StorageGroupPartitionTable {
ReadWriteIOUtils.write(storageGroupName, outputStream);
ReadWriteIOUtils.write(seriesPartitionSlotsCount.get(), outputStream);
- ReadWriteIOUtils.write(regionInfoMap.size(), outputStream);
- for (Map.Entry<TConsensusGroupId, RegionGroup> regionInfoEntry : regionInfoMap.entrySet()) {
+ ReadWriteIOUtils.write(regionGroupMap.size(), outputStream);
+ for (Map.Entry<TConsensusGroupId, RegionGroup> regionInfoEntry : regionGroupMap.entrySet()) {
regionInfoEntry.getKey().write(protocol);
regionInfoEntry.getValue().serialize(outputStream, protocol);
}
@@ -448,7 +450,7 @@ public class StorageGroupPartitionTable {
consensusGroupId.read(protocol);
RegionGroup regionGroup = new RegionGroup();
regionGroup.deserialize(inputStream, protocol);
- regionInfoMap.put(consensusGroupId, regionGroup);
+ regionGroupMap.put(consensusGroupId, regionGroup);
}
schemaPartitionTable.deserialize(inputStream, protocol);
@@ -461,13 +463,13 @@ public class StorageGroupPartitionTable {
if (o == null || getClass() != o.getClass()) return false;
StorageGroupPartitionTable that = (StorageGroupPartitionTable) o;
return isPredeleted == that.isPredeleted
- && regionInfoMap.equals(that.regionInfoMap)
+ && regionGroupMap.equals(that.regionGroupMap)
&& schemaPartitionTable.equals(that.schemaPartitionTable)
&& dataPartitionTable.equals(that.dataPartitionTable);
}
@Override
public int hashCode() {
- return Objects.hash(isPredeleted, regionInfoMap, schemaPartitionTable, dataPartitionTable);
+ return Objects.hash(isPredeleted, regionGroupMap, schemaPartitionTable, dataPartitionTable);
}
}
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
index fb5ca7bd28..46bf937f4d 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlanSerDeTest.java
@@ -44,7 +44,7 @@ import org.apache.iotdb.confignode.consensus.request.read.GetStorageGroupPlan;
import org.apache.iotdb.confignode.consensus.request.write.AdjustMaxRegionGroupCountPlan;
import org.apache.iotdb.confignode.consensus.request.write.ApplyConfigNodePlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteProcedurePlan;
import org.apache.iotdb.confignode.consensus.request.write.DeleteRegionsPlan;
@@ -203,7 +203,7 @@ public class ConfigPhysicalPlanSerDeTest {
dataNodeLocation.setDataRegionConsensusEndPoint(new TEndPoint("0.0.0.0", 40010));
dataNodeLocation.setSchemaRegionConsensusEndPoint(new TEndPoint("0.0.0.0", 50010));
- CreateRegionsPlan req0 = new CreateRegionsPlan();
+ CreateRegionGroupsPlan req0 = new CreateRegionGroupsPlan();
TRegionReplicaSet dataRegionSet = new TRegionReplicaSet();
dataRegionSet.setRegionId(new TConsensusGroupId(TConsensusGroupType.DataRegion, 0));
dataRegionSet.setDataNodeLocations(Collections.singletonList(dataNodeLocation));
@@ -214,8 +214,8 @@ public class ConfigPhysicalPlanSerDeTest {
schemaRegionSet.setDataNodeLocations(Collections.singletonList(dataNodeLocation));
req0.addRegionGroup("root.sg1", schemaRegionSet);
- CreateRegionsPlan req1 =
- (CreateRegionsPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
+ CreateRegionGroupsPlan req1 =
+ (CreateRegionGroupsPlan) ConfigPhysicalPlan.Factory.create(req0.serializeToByteBuffer());
Assert.assertEquals(req0, req1);
}
diff --git a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
index 9afb184009..c813dc772d 100644
--- a/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
+++ b/confignode/src/test/java/org/apache/iotdb/confignode/persistence/PartitionInfoTest.java
@@ -31,7 +31,7 @@ import org.apache.iotdb.commons.partition.SchemaPartitionTable;
import org.apache.iotdb.commons.partition.SeriesPartitionTable;
import org.apache.iotdb.confignode.consensus.request.read.GetRegionInfoListPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateDataPartitionPlan;
-import org.apache.iotdb.confignode.consensus.request.write.CreateRegionsPlan;
+import org.apache.iotdb.confignode.consensus.request.write.CreateRegionGroupsPlan;
import org.apache.iotdb.confignode.consensus.request.write.CreateSchemaPartitionPlan;
import org.apache.iotdb.confignode.consensus.request.write.SetStorageGroupPlan;
import org.apache.iotdb.confignode.consensus.response.RegionInfoListResp;
@@ -100,7 +100,7 @@ public class PartitionInfoTest {
partitionInfo.setStorageGroup(new SetStorageGroupPlan(new TStorageGroupSchema("root.test")));
// Create a SchemaRegion
- CreateRegionsPlan createRegionGroupsReq = new CreateRegionsPlan();
+ CreateRegionGroupsPlan createRegionGroupsReq = new CreateRegionGroupsPlan();
TRegionReplicaSet schemaRegionReplicaSet =
generateTRegionReplicaSet(
testFlag.SchemaPartition.getFlag(),
@@ -110,7 +110,7 @@ public class PartitionInfoTest {
partitionInfo.createRegionGroups(createRegionGroupsReq);
// Create a DataRegion
- createRegionGroupsReq = new CreateRegionsPlan();
+ createRegionGroupsReq = new CreateRegionGroupsPlan();
TRegionReplicaSet dataRegionReplicaSet =
generateTRegionReplicaSet(
testFlag.DataPartition.getFlag(),
@@ -153,24 +153,24 @@ public class PartitionInfoTest {
partitionInfo.setStorageGroup(new SetStorageGroupPlan(new TStorageGroupSchema("root.test")));
// Create a SchemaRegion
- CreateRegionsPlan createRegionsPlan = new CreateRegionsPlan();
+ CreateRegionGroupsPlan createRegionGroupsPlan = new CreateRegionGroupsPlan();
TRegionReplicaSet schemaRegionReplicaSet =
generateTRegionReplicaSet(
testFlag.SchemaPartition.getFlag(),
generateTConsensusGroupId(
testFlag.SchemaPartition.getFlag(), TConsensusGroupType.SchemaRegion));
- createRegionsPlan.addRegionGroup("root.test", schemaRegionReplicaSet);
- partitionInfo.createRegionGroups(createRegionsPlan);
+ createRegionGroupsPlan.addRegionGroup("root.test", schemaRegionReplicaSet);
+ partitionInfo.createRegionGroups(createRegionGroupsPlan);
// Create a DataRegion
- createRegionsPlan = new CreateRegionsPlan();
+ createRegionGroupsPlan = new CreateRegionGroupsPlan();
TRegionReplicaSet dataRegionReplicaSet =
generateTRegionReplicaSet(
testFlag.DataPartition.getFlag(),
generateTConsensusGroupId(
testFlag.DataPartition.getFlag(), TConsensusGroupType.DataRegion));
- createRegionsPlan.addRegionGroup("root.test", dataRegionReplicaSet);
- partitionInfo.createRegionGroups(createRegionsPlan);
+ createRegionGroupsPlan.addRegionGroup("root.test", dataRegionReplicaSet);
+ partitionInfo.createRegionGroups(createRegionGroupsPlan);
GetRegionInfoListPlan regionReq = new GetRegionInfoListPlan();
regionReq.setRegionType(null);