[
https://issues.apache.org/jira/browse/AMQ-7298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273141#comment-17273141
]
Martin Lichtin edited comment on AMQ-7298 at 1/27/21, 9:05 PM:
---------------------------------------------------------------
I assume with this change now having merged into 5.16.x, I'm seeing a
regression when upgrading from 5.15.14.
Server-side redeliveries triggered by the redeliveryPlugin or no longer coming
thru, but are (incorrectly) suppressed.
The output from my test with 5.16.1 shows this:
{noformat}
RedeliveryPlugin 175 | 40 - org.apache.activemq.activemq-osgi - 5.16.1
| redelivery #1 of: ID:mlipc2-4159-1611768583683-1:15:1:1:41 with delay: 1000,
dest: queue://TEST2.msgin
ActiveMQMessageConsumer 1485 | 40 - org.apache.activemq.activemq-osgi - 5.16.1
| ID:mlipc2-4159-1611768583683-1:16:1:1 suppressing duplicate delivery on
connection, poison acking: MessageDispatch {commandId = 0, responseRequired =
false, consumerId = ID:mlipc2-4159-1611768583683-1:16:1:1, destination =
queue://TEST2.msgin, message = ActiveMQTextMessage {commandId = 125,
responseRequired = true, messageId = ID:mlipc2-4159-1611768583683-1:15:1:1:41,
originalDestination = null, originalTransactionId = null, producerId =
ID:mlipc2-4159-1611768583683-1:15:1:1, destination = queue://TEST2.msgin,
transactionId = null, expiration = 0, timestamp = 1611768605501, arrival = 0,
brokerInTime = 1611768607001, brokerOutTime = 1611768607012, correlationId =
null, replyTo = null, persistent = true, type = null, priority = 0, groupID =
null, groupSequence = 0, targetConsumerId = null, compressed = false, userID =
null, content = org.apache.activemq.util.ByteSequence@5f105a66,
marshalledProperties = org.apache.activemq.util.ByteSequence@5b2fd55c,
dataStructure = null, redeliveryCounter = 1, size = 0, properties =
{redeliveryDelay=1000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2},
readOnlyProperties = true, readOnlyBody = true, droppable = false,
jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
{noformat}
was (Author: lichtin):
I assume with this change now having merged into 5.16.x, I'm seeing a
regression when upgrading from 5.15.14.
Server-side redeliveries triggered by the redeliveryPlugin or no longer coming
thru, but are (incorrectly) suppressed.
The output from my test with 5.16.1 shows this:
{noformat}
RedeliveryPlugin 175 | 40 - org.apache.activemq.activemq-osgi - 5.16.1
| redelivery #1 of: ID:mlipc2-4159-1611768583683-1:15:1:1:41 with delay: 1000,
dest: queue://TEST2.msgin
ActiveMQMessageConsumer 1485 | 40 - org.apache.activemq.activemq-osgi - 5.16.1
| ID:mlipc2-4159-1611768583683-1:16:1:1 suppressing duplicate delivery on
connection, poison acking: MessageDispatch {commandId = 0, responseRequired =
false, consumerId = ID:mlipc2-4159-1611768583683-1:16:1:1, destination =
queue://TEST2.msgin, message = ActiveMQTextMessage {commandId = 125,
responseRequired = true, messageId = ID:mlipc2-4159-1611768583683-1:15:1:1:41,
originalDestination = null, originalTransactionId = null, producerId =
ID:mlipc2-4159-1611768583683-1:15:1:1, destination = queue://TEST2.msgin,
transactionId = null, expiration = 0, timestamp = 1611768605501, arrival = 0,
brokerInTime = 1611768607001, brokerOutTime = 1611768607012, correlationId =
null, replyTo = null, persistent = true, type = null, priority = 0, groupID =
null, groupSequence = 0, targetConsumerId = null, compressed = false, userID =
null, content = org.apache.activemq.util.ByteSequence@5f105a66,
marshalledProperties = org.apache.activemq.util.ByteSequence@5b2fd55c,
dataStructure = null, redeliveryCounter = 1, size = 0, properties =
{redeliveryDelay=1000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2},
readOnlyProperties = true, readOnlyBody = true, droppable = false,
jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
{noformat}
> failover duplicate detection in error with batched local transactions
> ---------------------------------------------------------------------
>
> Key: AMQ-7298
> URL: https://issues.apache.org/jira/browse/AMQ-7298
> Project: ActiveMQ
> Issue Type: Bug
> Components: JMS client
> Affects Versions: 5.15.0
> Reporter: Gary Tully
> Assignee: Gary Tully
> Priority: Major
> Fix For: 5.16.0
>
>
> Messages can get poisonAcked in error as duplicate deliveries when a local
> transaction rollback during/after a failover (auto reconnect) event.
> The interaction between rollback and failover redelivery has a bunch of
> timing issues and did create duplicates in-error that resulted in over eager
> suppression.
> There are a bunch of related tests that validate expected behaviour, the
> related fixes needed to be revisited to better manage the delivered and
> unconsumed messages in the context of a local transaction and to avoid the
> real duplication of delivery in the client.
> There is an additional new test that demonstrates the additional dlq or
> duplicates behaviour.
> a nice cross section from the unit test suite is:
> mvn clean install
> -Dtest=CloseRollbackRedeliveryQueueTest,AMQ2149Test,JMSQueueRedeliverTest,RedeliveryPolicyTest,FailoverTransactionTest,FailoverDurableSubTransactionTest,JMSConsumerTest,JmsSessionRecoverTest,AMQ2751Test
--
This message was sent by Atlassian Jira
(v8.3.4#803005)