This is an automated email from the ASF dual-hosted git repository. tanxinyu pushed a commit to branch Computing-resource-balancing_cp in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 41a1fd5aee515f870ef63d7378c7cb2226da1b1c Author: YongzaoDan <[email protected]> AuthorDate: Mon Jul 31 20:38:59 2023 +0800 resolve conversations --- .../iotdb/confignode/manager/load/balancer/PartitionBalancer.java | 5 ++--- .../manager/load/balancer/partition/DataPartitionPolicyTable.java | 2 +- .../procedure/impl/statemachine/CreateRegionGroupsProcedure.java | 4 +++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java index 78be7046de5..bbac4510137 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/PartitionBalancer.java @@ -132,10 +132,9 @@ public class PartitionBalancer { } DataPartitionPolicyTable allotTable = dataPartitionPolicyTableMap.get(database); - allotTable.acquireLock(); - DataPartitionTable dataPartitionTable = new DataPartitionTable(); - try { + allotTable.acquireLock(); + DataPartitionTable dataPartitionTable = new DataPartitionTable(); // Enumerate SeriesPartitionSlot for (Map.Entry<TSeriesPartitionSlot, TTimeSlotList> seriesPartitionEntry : unassignedPartitionSlotsMap.entrySet()) { diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/DataPartitionPolicyTable.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/DataPartitionPolicyTable.java index 410d1edd593..29bd2a2c1ba 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/DataPartitionPolicyTable.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/partition/DataPartitionPolicyTable.java @@ -115,8 +115,8 @@ public class DataPartitionPolicyTable { /** Only use this interface when init PartitionBalancer. */ public void setDataAllotMap(Map<TSeriesPartitionSlot, TConsensusGroupId> dataAllotMap) { - dataAllotTableLock.lock(); try { + dataAllotTableLock.lock(); int mu = SERIES_SLOT_NUM / seriesPartitionSlotCounter.size(); dataAllotMap.forEach( (seriesPartitionSlot, regionGroupId) -> { diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/CreateRegionGroupsProcedure.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/CreateRegionGroupsProcedure.java index cf0af07a26c..2dab4c451aa 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/CreateRegionGroupsProcedure.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/CreateRegionGroupsProcedure.java @@ -275,7 +275,9 @@ public class CreateRegionGroupsProcedure ThriftCommonsSerDeUtils.deserializeTRegionReplicaSet(byteBuffer); failedRegionReplicaSets.put(groupId, replica); } - persistPlan.deserializeForProcedure(byteBuffer); + if (byteBuffer.hasRemaining()) { + persistPlan.deserializeForProcedure(byteBuffer); + } } catch (Exception e) { LOGGER.error("Deserialize meets error in CreateRegionGroupsProcedure", e); throw new RuntimeException(e);
