From 0a5ae085d21577526ada0e05c4d230a4ec5af1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5?= Date: Tue, 11 Nov 2025 21:10:02 +0800 Subject: [PATCH 1/2] Enhancing code robustness --- .../broker/controller/ReplicasManager.java | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java index f22f22a12bd..52b1feb040c 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java @@ -775,29 +775,33 @@ private void stopCheckSyncStateSet() { } private void scanAvailableControllerAddresses() { - if (controllerAddresses == null) { - LOGGER.warn("scanAvailableControllerAddresses addresses of controller is null!"); - return; - } + try { + if (controllerAddresses == null) { + LOGGER.warn("scanAvailableControllerAddresses addresses of controller is null!"); + return; + } - for (String address : availableControllerAddresses.keySet()) { - if (!controllerAddresses.contains(address)) { - LOGGER.warn("scanAvailableControllerAddresses remove invalid address {}", address); - availableControllerAddresses.remove(address); + for (String address : availableControllerAddresses.keySet()) { + if (!controllerAddresses.contains(address)) { + LOGGER.warn("scanAvailableControllerAddresses remove invalid address {}", address); + availableControllerAddresses.remove(address); + } } - } - for (String address : controllerAddresses) { - scanExecutor.submit(() -> { - if (brokerOuterAPI.checkAddressReachable(address)) { - availableControllerAddresses.putIfAbsent(address, true); - } else { - Boolean value = availableControllerAddresses.remove(address); - if (value != null) { - LOGGER.warn("scanAvailableControllerAddresses remove unconnected address {}", address); + for (String address : controllerAddresses) { + scanExecutor.submit(() -> { + if (brokerOuterAPI.checkAddressReachable(address)) { + availableControllerAddresses.putIfAbsent(address, true); + } else { + Boolean value = availableControllerAddresses.remove(address); + if (value != null) { + LOGGER.warn("scanAvailableControllerAddresses remove unconnected address {}", address); + } } - } - }); + }); + } + }catch (Throwable t){ + LOGGER.error("scanAvailableControllerAddresses unexpected exception", t); } } From 2a1ef103bf31242ad32481100219333cf700bd02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5?= Date: Wed, 12 Nov 2025 11:10:48 +0800 Subject: [PATCH 2/2] fix Checkstyle --- .../org/apache/rocketmq/broker/controller/ReplicasManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java index 52b1feb040c..93d48de1dd9 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java @@ -800,7 +800,7 @@ private void scanAvailableControllerAddresses() { } }); } - }catch (Throwable t){ + } catch (final Throwable t) { LOGGER.error("scanAvailableControllerAddresses unexpected exception", t); } }