Skip to content

Commit e2be0f2

Browse files
authored
fix controller mode scanControllerAddress (#9845)
* Enhancing code robustness * fix Checkstyle
1 parent f0d3b9c commit e2be0f2

1 file changed

Lines changed: 23 additions & 19 deletions

File tree

broker/src/main/java/org/apache/rocketmq/broker/controller/ReplicasManager.java

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -775,29 +775,33 @@ private void stopCheckSyncStateSet() {
775775
}
776776

777777
private void scanAvailableControllerAddresses() {
778-
if (controllerAddresses == null) {
779-
LOGGER.warn("scanAvailableControllerAddresses addresses of controller is null!");
780-
return;
781-
}
778+
try {
779+
if (controllerAddresses == null) {
780+
LOGGER.warn("scanAvailableControllerAddresses addresses of controller is null!");
781+
return;
782+
}
782783

783-
for (String address : availableControllerAddresses.keySet()) {
784-
if (!controllerAddresses.contains(address)) {
785-
LOGGER.warn("scanAvailableControllerAddresses remove invalid address {}", address);
786-
availableControllerAddresses.remove(address);
784+
for (String address : availableControllerAddresses.keySet()) {
785+
if (!controllerAddresses.contains(address)) {
786+
LOGGER.warn("scanAvailableControllerAddresses remove invalid address {}", address);
787+
availableControllerAddresses.remove(address);
788+
}
787789
}
788-
}
789790

790-
for (String address : controllerAddresses) {
791-
scanExecutor.submit(() -> {
792-
if (brokerOuterAPI.checkAddressReachable(address)) {
793-
availableControllerAddresses.putIfAbsent(address, true);
794-
} else {
795-
Boolean value = availableControllerAddresses.remove(address);
796-
if (value != null) {
797-
LOGGER.warn("scanAvailableControllerAddresses remove unconnected address {}", address);
791+
for (String address : controllerAddresses) {
792+
scanExecutor.submit(() -> {
793+
if (brokerOuterAPI.checkAddressReachable(address)) {
794+
availableControllerAddresses.putIfAbsent(address, true);
795+
} else {
796+
Boolean value = availableControllerAddresses.remove(address);
797+
if (value != null) {
798+
LOGGER.warn("scanAvailableControllerAddresses remove unconnected address {}", address);
799+
}
798800
}
799-
}
800-
});
801+
});
802+
}
803+
} catch (final Throwable t) {
804+
LOGGER.error("scanAvailableControllerAddresses unexpected exception", t);
801805
}
802806
}
803807

0 commit comments

Comments
 (0)