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 2019/09/11 13:41:48 UTC

[activemq-artemis] branch master updated (a8d68d9 -> 02d3384)

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

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


    from a8d68d9  This closes #2833
     new e43c539  ARTEMIS-2478 Expired message not removed in non destructive queue
     new 793a45f  NO-JIRA Speeding up JMSNonDestructiveTest
     new 02d3384  This closes #2828

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../activemq/artemis/core/server/impl/QueueImpl.java | 14 +++++---------
 .../integration/amqp/JMSNonDestructiveTest.java      | 20 +++++++++++---------
 2 files changed, 16 insertions(+), 18 deletions(-)


[activemq-artemis] 03/03: This closes #2828

Posted by cl...@apache.org.
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

commit 02d3384b8743405c793867ea786b987ddc674d13
Merge: a8d68d9 793a45f
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed Sep 11 09:41:38 2019 -0400

    This closes #2828

 .../activemq/artemis/core/server/impl/QueueImpl.java | 14 +++++---------
 .../integration/amqp/JMSNonDestructiveTest.java      | 20 +++++++++++---------
 2 files changed, 16 insertions(+), 18 deletions(-)


[activemq-artemis] 01/03: ARTEMIS-2478 Expired message not removed in non destructive queue

Posted by cl...@apache.org.
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

commit e43c5390cf11655a883b9f96f608e65bdd21d6fa
Author: Wei Yang <wy...@gmail.com>
AuthorDate: Mon Sep 9 18:45:48 2019 +0800

    ARTEMIS-2478 Expired message not removed in non destructive queue
---
 .../activemq/artemis/core/server/impl/QueueImpl.java       | 14 +++++---------
 .../tests/integration/amqp/JMSNonDestructiveTest.java      | 10 ++++++----
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index dd7d9cf..d18ecbf 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -2745,9 +2745,6 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
                      logger.trace("Reference " + ref + " being expired");
                   }
                   removeMessageReference(holder, ref);
-
-
-
                   handled++;
                   consumers.reset();
                   continue;
@@ -2778,8 +2775,9 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
 
                   deliveriesInTransit.countUp();
 
-
-                  removeMessageReference(holder, ref);
+                  if (!nonDestructive) {
+                     removeMessageReference(holder, ref);
+                  }
                   ref.setInDelivery(true);
                   handledconsumer = consumer;
                   handled++;
@@ -2836,10 +2834,8 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
    }
 
    protected void removeMessageReference(ConsumerHolder<? extends Consumer> holder, MessageReference ref) {
-      if (!nonDestructive) {
-         holder.iter.remove();
-         refRemoved(ref);
-      }
+      holder.iter.remove();
+      refRemoved(ref);
    }
 
    private void checkDepage() {
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
index 32dcbb8..6fbb71d 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
@@ -53,14 +53,16 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
    private ConnectionSupplier CoreConnection = () -> createCoreConnection();
 
    protected final boolean persistenceEnabled;
+   protected final long scanPeriod;
 
-   public JMSNonDestructiveTest(boolean persistenceEnabled) {
+   public JMSNonDestructiveTest(boolean persistenceEnabled, long scanPeriod) {
       this.persistenceEnabled = persistenceEnabled;
+      this.scanPeriod = scanPeriod;
    }
 
-   @Parameterized.Parameters(name = "persistenceEnabled={0}")
+   @Parameterized.Parameters(name = "persistenceEnabled={0}, scanPeriod={1}")
    public static Collection<Object[]> data() {
-      Object[][] params = new Object[][]{{false}, {true}};
+      Object[][] params = new Object[][]{{false, 100}, {true, 100}, {true, -1}};
       return Arrays.asList(params);
    }
 
@@ -72,7 +74,7 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
    @Override
    protected void addConfiguration(ActiveMQServer server) {
       server.getConfiguration().setPersistenceEnabled(persistenceEnabled);
-      server.getConfiguration().setMessageExpiryScanPeriod(100);
+      server.getConfiguration().setMessageExpiryScanPeriod(scanPeriod);
       server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_QUEUE_NAME, new AddressSettings().setDefaultNonDestructive(true));
       server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME, new AddressSettings().setDefaultNonDestructive(true).setExpiryDelay(100L));
       server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_LVQ_QUEUE_NAME, new AddressSettings().setDefaultLastValueQueue(true).setDefaultNonDestructive(true));


[activemq-artemis] 02/03: NO-JIRA Speeding up JMSNonDestructiveTest

Posted by cl...@apache.org.
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

commit 793a45f35a8fe5eca7df9e9657d89e93cf0bcdd2
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Wed Sep 11 09:36:53 2019 -0400

    NO-JIRA Speeding up JMSNonDestructiveTest
---
 .../artemis/tests/integration/amqp/JMSNonDestructiveTest.java  | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
index 6fbb71d..9b31b79 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
@@ -332,7 +332,7 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
             assertNotNull(msg);
             assertEquals(Integer.toString(j), msg.getText());
          }
-         TextMessage msg = (TextMessage) consumer.receive(200);
+         TextMessage msg = (TextMessage) consumer.receiveNoWait();
          assertNull(msg);
          consumer.close();
       }
@@ -356,7 +356,7 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
          Session consumerSession = consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Queue consumerQueue = consumerSession.createQueue(queueName);
          MessageConsumer consumer = consumerSession.createConsumer(consumerQueue);
-         TextMessage msg = (TextMessage) consumer.receive(2000);
+         TextMessage msg = (TextMessage) consumer.receiveNoWait();
          assertNull(msg);
          consumer.close();
       }
@@ -395,9 +395,9 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
             assertEquals(Integer.toString(j), msg.getText());
             assertEquals(Integer.toString(j), msg2.getText());
          }
-         TextMessage msg = (TextMessage) consumer.receive(200);
+         TextMessage msg = (TextMessage) consumer.receiveNoWait();
          assertNull(msg);
-         TextMessage msg2 = (TextMessage) consumer2.receive(200);
+         TextMessage msg2 = (TextMessage) consumer2.receiveNoWait();
          assertNull(msg2);
          consumer.close();
          consumer2.close();
@@ -468,7 +468,7 @@ public class JMSNonDestructiveTest extends JMSClientTestSupport {
       try (Connection connection = consumerConnectionSupplier.createConnection();
            Session session = connection.createSession();
            MessageConsumer consumer = session.createConsumer(session.createQueue(queueName))) {
-         TextMessage msg = (TextMessage) consumer.receive(1000);
+         TextMessage msg = (TextMessage) consumer.receiveNoWait();
          assertNull(msg);
       }
    }