This is an automated email from the ASF dual-hosted git repository.
jbertram 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 1ee3e884b7 ARTEMIS-4726 removing scheduled msg from q via mngmnt can
cause negative msg count
1ee3e884b7 is described below
commit 1ee3e884b707a659d924188048c2960a3b22df35
Author: Justin Bertram <[email protected]>
AuthorDate: Wed Apr 17 17:01:25 2024 -0500
ARTEMIS-4726 removing scheduled msg from q via mngmnt can cause negative
msg count
---
.../core/server/impl/ScheduledDeliveryHandlerImpl.java | 1 -
.../integration/scheduling/ScheduledMessageTest.java | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScheduledDeliveryHandlerImpl.java
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScheduledDeliveryHandlerImpl.java
index 1e848bc793..1bc9d24b66 100644
---
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScheduledDeliveryHandlerImpl.java
+++
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ScheduledDeliveryHandlerImpl.java
@@ -178,7 +178,6 @@ public class ScheduledDeliveryHandlerImpl implements
ScheduledDeliveryHandler {
ref.acknowledge(tx);
iter.remove();
notifyScheduledReferencesUpdated();
- metrics.decrementMetrics(ref);
return ref;
}
}
diff --git
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/scheduling/ScheduledMessageTest.java
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/scheduling/ScheduledMessageTest.java
index 956df30e93..6ae52b8245 100644
---
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/scheduling/ScheduledMessageTest.java
+++
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/scheduling/ScheduledMessageTest.java
@@ -543,6 +543,24 @@ public class ScheduledMessageTest extends ActiveMQTestBase
{
session.close();
}
+ @Test
+ public void testManagementDeleteById() throws Exception {
+ try (ClientSessionFactory sessionFactory =
createSessionFactory(locator)) {
+ ClientSession session = sessionFactory.createSession(false, false,
false);
+ session.createQueue(new QueueConfiguration(atestq));
+ ClientProducer producer = session.createProducer(atestq);
+ ClientMessage messageToSend = session.createMessage(true);
+ messageToSend.putLongProperty(Message.HDR_SCHEDULED_DELIVERY_TIME,
System.currentTimeMillis() + 999_999_999);
+ producer.send(messageToSend);
+ session.commit();
+ }
+
+ QueueControl queueControl = (QueueControl)
server.getManagementService().getResource(ResourceNames.QUEUE + atestq);
+ assertEquals(1, queueControl.getMessageCount());
+ assertTrue(queueControl.removeMessage((long)
queueControl.listScheduledMessages()[0].get("messageID")));
+ assertEquals(0, queueControl.getMessageCount());
+ }
+
@Test
public void testManagementDeliveryByFilter() throws Exception {
final String propertyValue = RandomUtil.randomString();