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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to