RongtongJin commented on code in PR #6100:
URL: https://github.com/apache/rocketmq/pull/6100#discussion_r1132512232


##########
controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java:
##########
@@ -351,35 +372,35 @@ public ControllerResult<Void> getSyncStateData(final 
List<String> brokerNames) {
     }
 
     public ControllerResult<Void> cleanBrokerData(final 
CleanControllerBrokerDataRequestHeader requestHeader,
-        final BiPredicate<String, String> brokerAlivePredicate) {
+                                                  final BrokerValidPredicate 
validPredicate) {
         final ControllerResult<Void> result = new ControllerResult<>();
 
         final String clusterName = requestHeader.getClusterName();
         final String brokerName = requestHeader.getBrokerName();
-        final String brokerAddrs = requestHeader.getBrokerAddress();
+        final String brokerIdSetToClean = 
requestHeader.getBrokerIdSetToClean();
 
-        Set<String> brokerAddressSet = null;
+        Set<Long> brokerIdSet = null;

Review Comment:
   命令中是brokerAddress,这里变成了brokerId,还是都改成brokerId吧



##########
controller/src/main/java/org/apache/rocketmq/controller/impl/manager/ReplicasInfoManager.java:
##########
@@ -351,35 +372,35 @@ public ControllerResult<Void> getSyncStateData(final 
List<String> brokerNames) {
     }
 
     public ControllerResult<Void> cleanBrokerData(final 
CleanControllerBrokerDataRequestHeader requestHeader,
-        final BiPredicate<String, String> brokerAlivePredicate) {
+                                                  final BrokerValidPredicate 
validPredicate) {
         final ControllerResult<Void> result = new ControllerResult<>();
 
         final String clusterName = requestHeader.getClusterName();
         final String brokerName = requestHeader.getBrokerName();
-        final String brokerAddrs = requestHeader.getBrokerAddress();
+        final String brokerIdSetToClean = 
requestHeader.getBrokerIdSetToClean();
 
-        Set<String> brokerAddressSet = null;
+        Set<Long> brokerIdSet = null;
         if (!requestHeader.isCleanLivingBroker()) {
             //if SyncStateInfo.masterAddress is not empty, at least one broker 
with the same BrokerName is alive
             SyncStateInfo syncStateInfo = 
this.syncStateSetInfoTable.get(brokerName);
-            if (StringUtils.isBlank(brokerAddrs) && null != syncStateInfo && 
StringUtils.isNotEmpty(syncStateInfo.getMasterAddress())) {
+            if (StringUtils.isBlank(brokerIdSetToClean) && null != 
syncStateInfo && syncStateInfo.getMasterBrokerId() != null) {
                 String remark = String.format("Broker %s is still alive, clean 
up failure", requestHeader.getBrokerName());
                 
result.setCodeAndRemark(ResponseCode.CONTROLLER_INVALID_CLEAN_BROKER_METADATA, 
remark);
                 return result;
             }
-            if (StringUtils.isNotBlank(brokerAddrs)) {
-                brokerAddressSet = 
Stream.of(brokerAddrs.split(";")).collect(Collectors.toSet());
-                for (String brokerAddr : brokerAddressSet) {
-                    if (brokerAlivePredicate.test(clusterName, brokerAddr)) {
-                        String remark = String.format("Broker [%s,  %s] is 
still alive, clean up failure", requestHeader.getBrokerName(), brokerAddr);
+            if (StringUtils.isNotBlank(brokerIdSetToClean)) {
+                brokerIdSet = 
Stream.of(brokerIdSetToClean.split(";")).map(idStr -> 
Long.valueOf(idStr)).collect(Collectors.toSet());

Review Comment:
   这里如果都是brokerId,是否要判断一下Long的格式是否符合?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to