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

penghui 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 8f44c1a4bae [fix][admin] Fix NPE when get OffloadThreshold on 
namespace (#18061)
8f44c1a4bae is described below

commit 8f44c1a4bae8442b8e25ab7fbccbfbb2917d9322
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 dace261ceb6..9b07427c72d 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
@@ -2054,7 +2054,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 0d2b8808ed7..a4f9fc3f52f 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
@@ -1401,6 +1401,9 @@ public class NamespacesTest extends 
MockedPulsarServiceBaseTest {
         admin.namespaces().createNamespace(namespace, 
Set.of(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