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

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

commit 5645e6efc616376b7d7550e05208b4de522b670b
Author: Philipp Dolif <[email protected]>
AuthorDate: Fri Aug 1 05:56:01 2025 +0200

    [fix][broker] Fix NPE being logged if load manager class name is blank 
(#24570)
    
    (cherry picked from commit ced60a70596179655efb6caf1ca6bdbc07e7d542)
---
 .../java/org/apache/pulsar/broker/loadbalance/LoadManager.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadManager.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadManager.java
index db2fb2ffd0f..9399fcb3aad 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadManager.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadManager.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.pulsar.broker.PulsarServerException;
 import org.apache.pulsar.broker.PulsarService;
 import org.apache.pulsar.broker.ServiceConfiguration;
@@ -152,8 +153,14 @@ public interface LoadManager {
     static LoadManager create(final PulsarService pulsar) {
         try {
             final ServiceConfiguration conf = pulsar.getConfiguration();
+
+            String loadManagerClassName = conf.getLoadManagerClassName();
+            if (StringUtils.isBlank(loadManagerClassName)) {
+                loadManagerClassName = SimpleLoadManagerImpl.class.getName();
+            }
+
             // Assume there is a constructor with one argument of 
PulsarService.
-            final Object loadManagerInstance = 
Reflections.createInstance(conf.getLoadManagerClassName(),
+            final Object loadManagerInstance = 
Reflections.createInstance(loadManagerClassName,
                     Thread.currentThread().getContextClassLoader());
             if (loadManagerInstance instanceof LoadManager casted) {
                 casted.initialize(pulsar);

Reply via email to