This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new f9bb2e45afd [fix][client] Fix invalid parameter type passed to Map.get
in TopicsImpl.getListAsync method (#25069)
f9bb2e45afd is described below
commit f9bb2e45afd098a88ec67c04f63b2c18891e9bfb
Author: Oneby <[email protected]>
AuthorDate: Mon Dec 15 09:15:30 2025 +0800
[fix][client] Fix invalid parameter type passed to Map.get in
TopicsImpl.getListAsync method (#25069)
---
.../apache/pulsar/broker/admin/AdminApi2Test.java | 27 +++++++++++++++++++---
.../pulsar/client/admin/internal/TopicsImpl.java | 2 +-
2 files changed, 25 insertions(+), 4 deletions(-)
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
index b358c672c6c..eeac3e1c5e2 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApi2Test.java
@@ -91,6 +91,7 @@ import
org.apache.pulsar.broker.testcontext.MockEntryFilterProvider;
import org.apache.pulsar.broker.testcontext.PulsarTestContext;
import org.apache.pulsar.client.admin.GrantTopicPermissionOptions;
import org.apache.pulsar.client.admin.ListNamespaceTopicsOptions;
+import org.apache.pulsar.client.admin.ListTopicsOptions;
import org.apache.pulsar.client.admin.Mode;
import org.apache.pulsar.client.admin.PulsarAdmin;
import org.apache.pulsar.client.admin.PulsarAdminException;
@@ -1269,9 +1270,29 @@ public class AdminApi2Test extends
MockedPulsarServiceBaseTest {
}
}
- Set<String> topicsInNs = Sets
- .newHashSet(
- admin.topics().getList(namespace, null,
Collections.singletonMap(QueryParam.Bundle, bundle)));
+ Set<String> topicsInNs;
+ // 1. test recommended sync method
+ ListTopicsOptions listTopicsOptions =
ListTopicsOptions.builder().bundle(bundle).build();
+ topicsInNs = Sets.newHashSet(admin.topics().getList(namespace, null,
listTopicsOptions));
+ assertEquals(topicsInNs.size(), topics.size());
+ topicsInNs.removeAll(topics);
+ assertEquals(topicsInNs.size(), 0);
+
+ // 2. test recommended async method
+ topicsInNs = Sets.newHashSet(admin.topics().getListAsync(namespace,
null, listTopicsOptions).get());
+ assertEquals(topicsInNs.size(), topics.size());
+ topicsInNs.removeAll(topics);
+ assertEquals(topicsInNs.size(), 0);
+
+ // 3. test deprecated sync method
+ Map<QueryParam, Object> queryOption =
Collections.singletonMap(QueryParam.Bundle, bundle);
+ topicsInNs = Sets.newHashSet(admin.topics().getList(namespace, null,
queryOption));
+ assertEquals(topicsInNs.size(), topics.size());
+ topicsInNs.removeAll(topics);
+ assertEquals(topicsInNs.size(), 0);
+
+ // 4. test deprecated async method
+ topicsInNs = Sets.newHashSet(admin.topics().getListAsync(namespace,
null, queryOption).get());
assertEquals(topicsInNs.size(), topics.size());
topicsInNs.removeAll(topics);
assertEquals(topicsInNs.size(), 0);
diff --git
a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java
b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java
index 8a1e0e0f839..11dd69a23ce 100644
---
a/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java
+++
b/pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/TopicsImpl.java
@@ -184,7 +184,7 @@ public class TopicsImpl extends BaseResource implements
Topics {
Map<QueryParam,
Object> params) {
ListTopicsOptions options = ListTopicsOptions
.builder()
- .bundle((String) params.get(QueryParam.Bundle.value))
+ .bundle((String) params.get(QueryParam.Bundle))
.build();
return getListAsync(namespace, topicDomain, options);
}