This is an automated email from the ASF dual-hosted git repository. penghui pushed a commit to branch branch-2.10 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 6b3ad13986d7f104c3d4ed35f29d82766a1356b1 Author: Cong Zhao <[email protected]> AuthorDate: Thu Jun 23 12:13:05 2022 +0800 [fix][broker] Fix NPE when get /admin/v2/namespaces/public/default/maxTopicsPerNamespace (#16076) (cherry picked from commit c7d74f39757371dd1b2864602534539f7d8cd4cf) --- .../main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java | 3 ++- .../src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java index 4f589a5684e..5cdbdc9930a 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java @@ -2564,7 +2564,8 @@ public abstract class NamespacesBase extends AdminResource { protected int internalGetMaxTopicsPerNamespace() { validateNamespacePolicyOperation(namespaceName, PolicyName.MAX_TOPICS, PolicyOperation.READ); - return getNamespacePolicies(namespaceName).max_topics_per_namespace; + return getNamespacePolicies(namespaceName).max_topics_per_namespace != null + ? getNamespacePolicies(namespaceName).max_topics_per_namespace : 0; } protected void internalRemoveMaxTopicsPerNamespace() { diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java index 0b62f6ea90e..cd9fef4b34c 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java @@ -1500,6 +1500,8 @@ public class NamespacesTest extends MockedPulsarServiceBaseTest { admin.tenants().createTenant("testTenant", tenantInfo); admin.namespaces().createNamespace(namespace, Sets.newHashSet("use")); + assertEquals(0, admin.namespaces().getMaxTopicsPerNamespace(namespace)); + admin.namespaces().setMaxTopicsPerNamespace(namespace, 10); assertEquals(10, admin.namespaces().getMaxTopicsPerNamespace(namespace));
