You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2021/02/04 20:24:09 UTC

[activemq-artemis] branch master updated: ARTEMIS-3096 bridge config using wrong default conf-window-size

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 15e3cdf  ARTEMIS-3096 bridge config using wrong default conf-window-size
     new 0190ad4  This closes #3430
15e3cdf is described below

commit 15e3cdf409a92ee3ec60a31a45f2486150b1b445
Author: Justin Bertram <jb...@apache.org>
AuthorDate: Thu Feb 4 12:29:10 2021 -0600

    ARTEMIS-3096 bridge config using wrong default conf-window-size
---
 .../artemis/core/config/BridgeConfiguration.java   |  2 +-
 .../core/config/BridgeConfigurationTest.java       |  2 +-
 .../integration/cluster/bridge/BridgeTest.java     | 31 ++++++++++++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/BridgeConfiguration.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/BridgeConfiguration.java
index 6eb6146..9e3d63e 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/BridgeConfiguration.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/BridgeConfiguration.java
@@ -89,7 +89,7 @@ public final class BridgeConfiguration implements Serializable {
 
    private boolean useDuplicateDetection = ActiveMQDefaultConfiguration.isDefaultBridgeDuplicateDetection();
 
-   private int confirmationWindowSize = ActiveMQClient.DEFAULT_CONFIRMATION_WINDOW_SIZE;
+   private int confirmationWindowSize = ActiveMQDefaultConfiguration.getDefaultBridgeConfirmationWindowSize();
 
    // disable flow control
    private int producerWindowSize = ActiveMQDefaultConfiguration.getDefaultBridgeProducerWindowSize();
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/BridgeConfigurationTest.java b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/BridgeConfigurationTest.java
index 17a8050..91e6f5c 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/BridgeConfigurationTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/config/BridgeConfigurationTest.java
@@ -97,7 +97,7 @@ public class BridgeConfigurationTest {
       Assert.assertEquals("-1", jsonObject.get(BridgeConfiguration.RECONNECT_ATTEMPTS).toString());
       Assert.assertEquals("10", jsonObject.get(BridgeConfiguration.RECONNECT_ATTEMPTS_ON_SAME_NODE).toString());
       Assert.assertEquals("true", jsonObject.get(BridgeConfiguration.USE_DUPLICATE_DETECTION).toString());
-      Assert.assertEquals("-1", jsonObject.get(BridgeConfiguration.CONFIRMATION_WINDOW_SIZE).toString());
+      Assert.assertEquals("10485760", jsonObject.get(BridgeConfiguration.CONFIRMATION_WINDOW_SIZE).toString());
       Assert.assertEquals("-1", jsonObject.get(BridgeConfiguration.PRODUCER_WINDOW_SIZE).toString());
       Assert.assertEquals("30000", jsonObject.get(BridgeConfiguration.CLIENT_FAILURE_CHECK_PERIOD).toString());
       Assert.assertEquals("2000", jsonObject.get(BridgeConfiguration.MAX_RETRY_INTERVAL).toString());
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java
index 4ad7df8..de8f4f8 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/bridge/BridgeTest.java
@@ -2011,6 +2011,37 @@ public class BridgeTest extends ActiveMQTestBase {
       assertEquals(transformer, ((BridgeImpl) bridge).getTransformer());
    }
 
+   @Test
+   public void testDefaultConfirmationWindowSize() throws Exception {
+      final SimpleString ADDRESS = new SimpleString("myAddress");
+      final SimpleString QUEUE = new SimpleString("myQueue");
+      final SimpleString FORWARDING_ADDRESS = new SimpleString("myForwardingAddress");
+      final SimpleString FORWARDING_QUEUE = new SimpleString("myForwardingQueue");
+      final String BRIDGE = "myBridge";
+
+      Configuration config = createDefaultConfig(0, isNetty()).addConnectorConfiguration("myConnector", new TransportConfiguration(getConnector()));
+      ActiveMQServer server = addServer(new ActiveMQServerImpl(config));
+      server.start();
+      server.waitForActivation(100, TimeUnit.MILLISECONDS);
+      server.createQueue(new QueueConfiguration(QUEUE).setAddress(ADDRESS).setRoutingType(RoutingType.ANYCAST).setDurable(false));
+      server.createQueue(new QueueConfiguration(FORWARDING_QUEUE).setAddress(FORWARDING_ADDRESS).setRoutingType(RoutingType.ANYCAST).setDurable(false));
+      server.deployBridge(new BridgeConfiguration()
+                             .setName(BRIDGE)
+                             .setQueueName(QUEUE.toString())
+                             .setForwardingAddress(FORWARDING_ADDRESS.toString())
+                             .setStaticConnectors(List.of("myConnector")));
+
+      // now we actually have to use the bridge to make sure it connected correctly
+      locator = addServerLocator(ActiveMQClient.createServerLocatorWithoutHA(new TransportConfiguration(getConnector())));
+      ClientSessionFactory sf = addSessionFactory(locator.createSessionFactory());
+      ClientSession session = addClientSession(sf.createSession(false, true, true));
+      ClientProducer producer = addClientProducer(session.createProducer(ADDRESS));
+      ClientConsumer consumer = addClientConsumer(session.createConsumer(FORWARDING_QUEUE));
+      session.start();
+      producer.send(session.createMessage(true));
+      Assert.assertNotNull(consumer.receive(200));
+   }
+
    /**
     * It will inspect the journal directly and determine if there are queues on this journal,
     *