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);
