Christian Danner created ARTEMIS-3260:
-----------------------------------------
Summary: Already consumed messages are redelivered after server
restart (possible Journal corruption)
Key: ARTEMIS-3260
URL: https://issues.apache.org/jira/browse/ARTEMIS-3260
Project: ActiveMQ Artemis
Issue Type: Bug
Components: AMQP, Broker
Affects Versions: 2.17.0
Environment: Embedded Apache Artemis 2.17.0
Windows Server 2016 Standard (10.0.14393)
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
Reporter: Christian Danner
Attachments: QualityMessaging_activemq_artemis.log
After upgrading from Artemis 2.15.0 to 2.17.0 we are experiencing situations
(non-deterministic but quite regular) where the embedded Apache Artemis
instance re-delivers messages to a client again after a server restart.
Those messages were already processed successfully before restart and the web
console shows a message count of 0 prior to restarting the process.
This happens again and again up to a point when the broker finally manages to
recover from this situation by detecting an invalid (negative) address size as
indicated by the following log output:
{quote}2021-04-22 21:04:51.897 WARN
org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.addSize(PagingStoreImpl.java:753)
[Thread-1
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@26bb92e2)]
{quote}
{quote}[ARTEMIS] AMQ222214: Destination incoming.message has an inconsistent
and negative address size=-3,379.
{quote}
{quote}2021-04-22 21:04:51.897 WARN
org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.addSize(PagingStoreImpl.java:753)
[Thread-1
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@26bb92e2)]
{quote}
{quote}[ARTEMIS] AMQ222214: Destination incoming.message has an inconsistent
and negative address size=-3,451.
{quote}
The full log file of such a situation (where the broker managed to recover) is
attached together with the broker.xml file that we use as a template to
configure the embedded instance programmatically.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)