This is an automated email from the ASF dual-hosted git repository.
jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 65faea22fd [ISSUE #7534] Use high performance concurrent set to
replace copyonwriteset (#7583)
65faea22fd is described below
commit 65faea22fd54fd9875f2ca9d3088b4dc46d31cce
Author: keranbingaa <[email protected]>
AuthorDate: Fri Dec 1 10:05:16 2023 +0800
[ISSUE #7534] Use high performance concurrent set to replace copyonwriteset
(#7583)
* fix ISSUE #7534
* reformat code
* Remove the useless unit test
---------
Co-authored-by: RongtongJin <[email protected]>
---
.../apache/rocketmq/namesrv/routeinfo/RouteInfoManagerNewTest.java | 1 -
.../java/org/apache/rocketmq/remoting/protocol/body/TopicList.java | 4 ++--
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git
a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerNewTest.java
b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerNewTest.java
index 6002d1f5a4..b52cf50740 100644
---
a/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerNewTest.java
+++
b/namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerNewTest.java
@@ -130,7 +130,6 @@ public class RouteInfoManagerNewTest {
topicList = TopicList.decode(content, TopicList.class);
assertThat(topicList.getTopicList()).contains("TestTopic",
"TestTopic1", "TestTopic2");
}
-
@Test
public void registerBroker() {
// Register master broker
diff --git
a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/TopicList.java
b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/TopicList.java
index 30edfb5a98..0de0bae7e3 100644
---
a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/TopicList.java
+++
b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/TopicList.java
@@ -17,11 +17,11 @@
package org.apache.rocketmq.remoting.protocol.body;
import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.rocketmq.remoting.protocol.RemotingSerializable;
public class TopicList extends RemotingSerializable {
- private Set<String> topicList = new CopyOnWriteArraySet<>();
+ private Set<String> topicList = ConcurrentHashMap.newKeySet();
private String brokerAddr;
public Set<String> getTopicList() {