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]