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

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


The following commit(s) were added to refs/heads/main by this push:
     new 9956dd6  [AMQ-8440] Set sendDuplicateFromStoreToDLQ to 'false' by 
default (#773)
9956dd6 is described below

commit 9956dd602a57fc8b592ad9df9fc4bc93b5408dab
Author: Matt Pavlovich <[email protected]>
AuthorDate: Thu Feb 24 08:45:35 2022 -0600

    [AMQ-8440] Set sendDuplicateFromStoreToDLQ to 'false' by default (#773)
---
 .../apache/activemq/broker/region/BaseDestination.java  |  2 +-
 .../activemq/broker/region/policy/PolicyEntry.java      |  2 +-
 .../test/java/org/apache/activemq/PolicyEntryTest.java  |  4 ++--
 ...EntryTest-policy-sendDuplicateFromStoreToDLQ-mod.xml |  2 +-
 .../broker/policy/SendDuplicateFromStoreToDLQTest.java  | 17 +++++++++++++++--
 5 files changed, 20 insertions(+), 7 deletions(-)

diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/BaseDestination.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/BaseDestination.java
index 1b46c16..c2a7a01 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/BaseDestination.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/BaseDestination.java
@@ -88,7 +88,7 @@ public abstract class BaseDestination implements Destination {
     private boolean advisoryForDelivery;
     private boolean advisoryForConsumed;
     private boolean sendAdvisoryIfNoConsumers;
-    private boolean sendDuplicateFromStoreToDLQ = true;
+    private boolean sendDuplicateFromStoreToDLQ = false;
     private boolean includeBodyForAdvisory;
     protected final DestinationStatistics destinationStatistics = new 
DestinationStatistics();
     protected final BrokerService brokerService;
diff --git 
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PolicyEntry.java
 
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PolicyEntry.java
index 862d5dd..0a4db91 100644
--- 
a/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PolicyEntry.java
+++ 
b/activemq-broker/src/main/java/org/apache/activemq/broker/region/policy/PolicyEntry.java
@@ -51,7 +51,7 @@ public class PolicyEntry extends DestinationMapEntry {
     private DispatchPolicy dispatchPolicy;
     private SubscriptionRecoveryPolicy subscriptionRecoveryPolicy;
     private boolean sendAdvisoryIfNoConsumers;
-    private boolean sendDuplicateFromStoreToDLQ = true;
+    private boolean sendDuplicateFromStoreToDLQ = false;
     private DeadLetterStrategy deadLetterStrategy = 
Destination.DEFAULT_DEAD_LETTER_STRATEGY;
     private PendingMessageLimitStrategy pendingMessageLimitStrategy;
     private MessageEvictionStrategy messageEvictionStrategy;
diff --git 
a/activemq-runtime-config/src/test/java/org/apache/activemq/PolicyEntryTest.java
 
b/activemq-runtime-config/src/test/java/org/apache/activemq/PolicyEntryTest.java
index b486c30..5ae7b1b 100644
--- 
a/activemq-runtime-config/src/test/java/org/apache/activemq/PolicyEntryTest.java
+++ 
b/activemq-runtime-config/src/test/java/org/apache/activemq/PolicyEntryTest.java
@@ -52,9 +52,9 @@ public class PolicyEntryTest extends RuntimeConfigTestSupport 
{
         startBroker(brokerConfig);
         assertTrue("broker alive", brokerService.isStarted());
 
-        verifyBooleanField("AMQ.8397", "sendDuplicateFromStoreToDLQ", true);
-        applyNewConfig(brokerConfig, configurationSeed + 
"-policy-sendDuplicateFromStoreToDLQ-mod", SLEEP);
         verifyBooleanField("AMQ.8397", "sendDuplicateFromStoreToDLQ", false);
+        applyNewConfig(brokerConfig, configurationSeed + 
"-policy-sendDuplicateFromStoreToDLQ-mod", SLEEP);
+        verifyBooleanField("AMQ.8397", "sendDuplicateFromStoreToDLQ", true);
     }
 
     @Test
diff --git 
a/activemq-runtime-config/src/test/resources/org/apache/activemq/policyEntryTest-policy-sendDuplicateFromStoreToDLQ-mod.xml
 
b/activemq-runtime-config/src/test/resources/org/apache/activemq/policyEntryTest-policy-sendDuplicateFromStoreToDLQ-mod.xml
index 0984792..55f913a 100644
--- 
a/activemq-runtime-config/src/test/resources/org/apache/activemq/policyEntryTest-policy-sendDuplicateFromStoreToDLQ-mod.xml
+++ 
b/activemq-runtime-config/src/test/resources/org/apache/activemq/policyEntryTest-policy-sendDuplicateFromStoreToDLQ-mod.xml
@@ -28,7 +28,7 @@
     <destinationPolicy>
       <policyMap>
         <policyEntries>
-          <policyEntry queue="AMQ.8397" sendDuplicateFromStoreToDLQ="false"/>
+          <policyEntry queue="AMQ.8397" sendDuplicateFromStoreToDLQ="true"/>
         </policyEntries>
       </policyMap>
     </destinationPolicy>
diff --git 
a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/policy/SendDuplicateFromStoreToDLQTest.java
 
b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/policy/SendDuplicateFromStoreToDLQTest.java
index adfc88d..d052ea2 100644
--- 
a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/policy/SendDuplicateFromStoreToDLQTest.java
+++ 
b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/policy/SendDuplicateFromStoreToDLQTest.java
@@ -17,6 +17,7 @@
 package org.apache.activemq.broker.policy;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 
 import java.io.File;
@@ -96,6 +97,14 @@ public class SendDuplicateFromStoreToDLQTest {
         applySendDuplicateFromStoreToDLQPolicy(false);
         doProcessSendDuplicateFromStoreToDLQ(false);
     }
+    
+    @Test
+    public void testSendDuplicateFromStoreToDLQDefaultValue() throws Exception 
{
+        PolicyMap policyMap = applySendDuplicateFromStoreToDLQPolicy(null);
+        
assertFalse(policyMap.getDefaultEntry().isSendDuplicateFromStoreToDLQ());
+        org.apache.activemq.broker.region.Queue queue = 
(org.apache.activemq.broker.region.Queue)broker.getDestination(new 
ActiveMQQueue("AMQ.8440"));
+        assertFalse(queue.isSendDuplicateFromStoreToDLQ());
+    }
 
     protected void doProcessSendDuplicateFromStoreToDLQ(boolean enabled) 
throws Exception {
         createQueue("AMQ.8397");
@@ -139,10 +148,14 @@ public class SendDuplicateFromStoreToDLQTest {
         }
     }
 
-    private PolicyMap applySendDuplicateFromStoreToDLQPolicy(boolean enabled) {
+    private PolicyMap applySendDuplicateFromStoreToDLQPolicy(Boolean enabled) {
         PolicyMap policyMap = new PolicyMap();
         PolicyEntry defaultEntry = new PolicyEntry();
-        defaultEntry.setSendDuplicateFromStoreToDLQ(enabled);
+        
+        if(enabled != null) {
+            defaultEntry.setSendDuplicateFromStoreToDLQ(enabled);
+        }
+
         defaultEntry.setDeadLetterStrategy(new IndividualDeadLetterStrategy());
         policyMap.setDefaultEntry(defaultEntry);
         broker.setDestinationPolicy(policyMap);

Reply via email to