You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2026/02/09 09:04:24 UTC
(pulsar) 02/02: [fix][client] Fix invalid parameter type passed to Map.get in TopicsImpl.getListAsync method (#25069)
This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit a67c9fee9400a9d01f56536f20483465da423bf5
Author: Oneby <44...@users.noreply.github.com>
AuthorDate: Mon Dec 15 09:15:30 2025 +0800
[fix][client] Fix invalid parameter type passed to Map.get in TopicsImpl.getListAsync method (#25069)
(cherry picked from commit f9bb2e45afd098a88ec67c04f63b2c18891e9bfb)
---
.../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 97e640f6d4a..ab90deb1e55 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
@@ -87,6 +87,7 @@ import org.apache.pulsar.broker.service.plugin.EntryFilterWithClassLoader;
import org.apache.pulsar.broker.testcontext.MockEntryFilterProvider;
import org.apache.pulsar.broker.testcontext.PulsarTestContext;
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;
@@ -1025,9 +1026,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 4f78000c73c..7ac2863a7a0 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
@@ -183,7 +183,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);
}