This is an automated email from the ASF dual-hosted git repository.
tanxinyu 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 aad2caa9f22 Fix flush old leader NPE when rebanlce #14981
aad2caa9f22 is described below
commit aad2caa9f22d207b7e44068d11aad01e41754e1d
Author: Peng Junzhi <[email protected]>
AuthorDate: Fri Feb 28 09:48:16 2025 +0800
Fix flush old leader NPE when rebanlce #14981
---
.../manager/load/balancer/RouteBalancer.java | 24 ++++++++++++----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
index 001568778cd..293f5669924 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/RouteBalancer.java
@@ -208,17 +208,19 @@ public class RouteBalancer implements
IClusterStatusSubscriber {
successTransferMap.put(
regionGroupId, new
ConsensusGroupHeartbeatSample(currentTime, newLeaderId));
// Prepare data for flushOldLeader
- lastBalancedOldLeaderId2RegionMap.compute(
- oldLeaderId,
- (k, v) -> {
- if (v == null) {
- List<String> value = new ArrayList<>();
- value.add(String.valueOf(regionGroupId.getId()));
- return value;
- }
- v.add(String.valueOf(regionGroupId.getId()));
- return v;
- });
+ if (oldLeaderId != -1) {
+ lastBalancedOldLeaderId2RegionMap.compute(
+ oldLeaderId,
+ (k, v) -> {
+ if (v == null) {
+ List<String> value = new ArrayList<>();
+ value.add(String.valueOf(regionGroupId.getId()));
+ return value;
+ }
+ v.add(String.valueOf(regionGroupId.getId()));
+ return v;
+ });
+ }
break;
case ConsensusFactory.RATIS_CONSENSUS:
default: