This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.9
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.9 by this push:
new e54c545e6c9 [fix][broker] Fix NPE when get OffloadThreshold on
namespace (#18638)
e54c545e6c9 is described below
commit e54c545e6c9b384d7d75cbbcdc60f37621a9daff
Author: congbo <[email protected]>
AuthorDate: Sun Nov 27 11:34:23 2022 +0800
[fix][broker] Fix NPE when get OffloadThreshold on namespace (#18638)
---
.../main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.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/impl/NamespacesBase.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java
index a91499ed81b..0b535b67960 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
@@ -2337,7 +2337,8 @@ public abstract class NamespacesBase extends
AdminResource {
protected long internalGetOffloadThreshold() {
validateNamespacePolicyOperation(namespaceName, PolicyName.OFFLOAD,
PolicyOperation.READ);
Policies policies = getNamespacePolicies(namespaceName);
- if (policies.offload_policies == null) {
+ if (policies.offload_policies == null
+ ||
policies.offload_policies.getManagedLedgerOffloadThresholdInBytes() == null) {
return policies.offload_threshold;
} else {
return
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 636cbe59805..bfdea37a5f8 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
@@ -48,6 +48,7 @@ import java.util.Set;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.ClientErrorException;
import javax.ws.rs.WebApplicationException;
@@ -1332,6 +1333,8 @@ 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