Skip to content

Commit

Permalink
[ISSUE apache#7768]Improve RouteInfoManager#registerTopic readability
Browse files Browse the repository at this point in the history
  • Loading branch information
mxsm committed Jan 22, 2024
1 parent 6d75134 commit fde276f
Showing 1 changed file with 10 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,28 +124,18 @@ public void registerTopic(final String topic, List<QueueData> queueDatas) {

try {
this.lock.writeLock().lockInterruptibly();
if (this.topicQueueTable.containsKey(topic)) {
Map<String, QueueData> queueDataMap = this.topicQueueTable.get(topic);
for (QueueData queueData : queueDatas) {
if (!this.brokerAddrTable.containsKey(queueData.getBrokerName())) {
log.warn("Register topic contains illegal broker, {}, {}", topic, queueData);
return;
}
queueDataMap.put(queueData.getBrokerName(), queueData);
}
log.info("Topic route already exist.{}, {}", topic, this.topicQueueTable.get(topic));
} else {
// check and construct queue data map
Map<String, QueueData> queueDataMap = new HashMap<>();
for (QueueData queueData : queueDatas) {
if (!this.brokerAddrTable.containsKey(queueData.getBrokerName())) {
log.warn("Register topic contains illegal broker, {}, {}", topic, queueData);
return;
}
queueDataMap.put(queueData.getBrokerName(), queueData);
Map<String, QueueData> queueDataMap = this.topicQueueTable.computeIfAbsent(topic, k -> new HashMap<>());
for (QueueData queueData : queueDatas) {
if (!this.brokerAddrTable.containsKey(queueData.getBrokerName())) {
log.warn("Register topic contains illegal broker, {}, {}", topic, queueData);
return;
}

this.topicQueueTable.put(topic, queueDataMap);
queueDataMap.put(queueData.getBrokerName(), queueData);
}
if (queueDataMap.size() > queueDatas.size()) {
log.info("Topic route already exist.{}, {}", topic, queueDataMap);
} else {
log.info("Register topic route:{}, {}", topic, queueDatas);
}
} catch (Exception e) {
Expand Down

0 comments on commit fde276f

Please sign in to comment.