Skip to content

Commit

Permalink
[ISSUE #2179]💫Optimize RouteInfoManager#un_register_broker method🍻 (#…
Browse files Browse the repository at this point in the history
…2180)

* [ISSUE #2179]💫Optimize RouteInfoManager#un_register_broker method🍻

* [ISSUE #2179]💫Optimize RouteInfoManager#un_register_broker method🍻
  • Loading branch information
mxsm authored Jan 9, 2025
1 parent 49f594b commit 563597f
Showing 1 changed file with 8 additions and 25 deletions.
33 changes: 8 additions & 25 deletions rocketmq-namesrv/src/route/route_info_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -998,7 +998,7 @@ impl RouteInfoManager {
) {
let mut remove_broker = HashSet::<CheetahString>::new();
let mut reduced_broker = HashSet::<CheetahString>::new();
let mut need_notify_broker_map = HashMap::<CheetahString, BrokerStatusChangeInfo>::new();
let mut need_notify_broker_map = HashMap::new();

for un_register_request in un_register_requests {
let broker_name = &un_register_request.broker_name;
Expand All @@ -1018,33 +1018,16 @@ impl RouteInfoManager {
let mut remove_broker_name = false;
let mut is_min_broker_id_changed = false;

if let Some(broker_data) = self.broker_addr_table.get_mut(broker_name.as_str()) {
if let Some(broker_data) = self.broker_addr_table.get_mut(broker_name) {
if !broker_data.broker_addrs().is_empty()
&& un_register_request.broker_id
== broker_data
.broker_addrs()
.iter()
.map(|(broker_id, _)| broker_id)
.cloned()
.min()
.unwrap()
== broker_data.broker_addrs().keys().min().copied().unwrap()
{
is_min_broker_id_changed = true;
}
let mut remove_broker_id_set = HashSet::new();
for (broker_id, broker_addr_inner) in broker_data.broker_addrs().iter() {
if broker_addr == broker_addr_inner {
remove_broker_id_set.insert(*broker_id);
}
}
let _removed = if remove_broker_id_set.is_empty() {
for broker_id in remove_broker_id_set {
broker_data.broker_addrs_mut().remove(&broker_id);
}
true
} else {
false
};
broker_data
.broker_addrs_mut()
.retain(|_broker_id, broker_addr_inner| broker_addr != broker_addr_inner);

if broker_data.broker_addrs_mut().is_empty() {
self.broker_addr_table.remove(broker_name.as_str());
Expand Down Expand Up @@ -1087,8 +1070,8 @@ impl RouteInfoManager {
if !broker_data.enable_acting_master() {
continue;
}
let broker_addrs = broker_status_change_info.broker_addrs.clone();
let offline_broker_addr = broker_status_change_info.offline_broker_addr.clone();
let broker_addrs = broker_status_change_info.broker_addrs;
let offline_broker_addr = broker_status_change_info.offline_broker_addr;
self.notify_min_broker_id_changed(
&broker_addrs,
Some(offline_broker_addr),
Expand Down

0 comments on commit 563597f

Please sign in to comment.