You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2024/11/13 12:53:37 UTC

(activemq-artemis) branch main updated: ARTEMIS-5150: ActiveMQServerControlImpl.getHAPolicy() gets NPE

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

gtully pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new c8e3c0060a ARTEMIS-5150: ActiveMQServerControlImpl.getHAPolicy() gets NPE
c8e3c0060a is described below

commit c8e3c0060a15d2a9b94f79f4ca377f0a75bb163f
Author: Howard Gao <ho...@gmail.com>
AuthorDate: Tue Nov 12 11:52:52 2024 +0800

    ARTEMIS-5150: ActiveMQServerControlImpl.getHAPolicy() gets NPE
    
    When you start the broker without configuring HAPolicy, if clients
    call this management api it'll get NPE because it doesn't check
    if the HAPolicyConfiguration is null.
---
 .../artemis/core/management/impl/ActiveMQServerControlImpl.java       | 4 +++-
 .../tests/integration/management/ActiveMQServerControlTest.java       | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
index 3c8e7449a8..8e9634bd97 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/ActiveMQServerControlImpl.java
@@ -75,6 +75,7 @@ import org.apache.activemq.artemis.core.config.BridgeConfiguration;
 import org.apache.activemq.artemis.core.config.Configuration;
 import org.apache.activemq.artemis.core.config.ConnectorServiceConfiguration;
 import org.apache.activemq.artemis.core.config.DivertConfiguration;
+import org.apache.activemq.artemis.core.config.HAPolicyConfiguration;
 import org.apache.activemq.artemis.core.config.TransformerConfiguration;
 import org.apache.activemq.artemis.core.filter.Filter;
 import org.apache.activemq.artemis.core.management.impl.view.AddressView;
@@ -834,7 +835,8 @@ public class ActiveMQServerControlImpl extends AbstractControl implements Active
 
    @Override
    public String getHAPolicy() {
-      return configuration.getHAPolicyConfiguration().getType().getName();
+      HAPolicyConfiguration haConfig = configuration.getHAPolicyConfiguration();
+      return haConfig == null ? null : haConfig.getType().getName();
    }
 
    @Override
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
index 1e7f56e339..430ed9a917 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
@@ -240,6 +240,8 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
       assertEquals(conf.getJournalCompactPercentage(), serverControl.getJournalCompactPercentage());
       assertEquals(conf.isPersistenceEnabled(), serverControl.isPersistenceEnabled());
       assertEquals(conf.getJournalPoolFiles(), serverControl.getJournalPoolFiles());
+      assertEquals(null, conf.getHAPolicyConfiguration());
+      assertEquals(conf.getHAPolicyConfiguration(), serverControl.getHAPolicy());
       assertTrue(serverControl.isActive());
    }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@activemq.apache.org
For additional commands, e-mail: commits-help@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact