This is an automated email from the ASF dual-hosted git repository.

technoboy pushed a commit to branch branch-2.11
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.11 by this push:
     new 9e4daeaa081 [fix][admin] Fix NPE when get OffloadThreshold on 
namespace (#18061)
9e4daeaa081 is described below

commit 9e4daeaa0817ade39be4377f219029c6419f61fe
Author: Jiwei Guo <[email protected]>
AuthorDate: Mon Oct 17 17:45:35 2022 +0800

    [fix][admin] Fix NPE when get OffloadThreshold on namespace (#18061)
---
 .../src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java    | 3 ++-
 .../src/test/java/org/apache/pulsar/broker/admin/NamespacesTest.java   | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java
index 9c24bc65d61..78d1288ede5 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java
@@ -2037,7 +2037,8 @@ public class Namespaces extends NamespacesBase {
         validateNamespacePolicyOperationAsync(namespaceName, 
PolicyName.OFFLOAD, PolicyOperation.READ)
                 .thenCompose(__ -> getNamespacePoliciesAsync(namespaceName))
                 .thenAccept(policies -> {
-                    if (policies.offload_policies == null) {
+                    if (policies.offload_policies == null
+                            || 
policies.offload_policies.getManagedLedgerOffloadThresholdInBytes() == null) {
                         asyncResponse.resume(policies.offload_threshold);
                     } else {
                         
asyncResponse.resume(policies.offload_policies.getManagedLedgerOffloadThresholdInBytes());
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 d11b031e801..cb17f2cb77f 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
@@ -1372,6 +1372,9 @@ public class NamespacesTest extends 
MockedPulsarServiceBaseTest {
         admin.namespaces().createNamespace(namespace, 
Sets.newHashSet(testLocalCluster));
         admin.topics().createNonPartitionedTopic(topicName.toString());
 
+        admin.namespaces().setOffloadDeleteLag(namespace, 10000, 
TimeUnit.SECONDS);
+        assertEquals(-1, admin.namespaces().getOffloadThreshold(namespace));
+
         // assert we get the default which indicates it will fall back to 
default
         assertEquals(-1, admin.namespaces().getOffloadThreshold(namespace));
         // the ledger config should have the expected value

Reply via email to