You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Martin Lichtin (Jira)" <ji...@apache.org> on 2021/03/04 13:11:00 UTC
[jira] [Updated] (AMQ-8168) Server-side redelivery no longer
working with 5.16.x
[ https://issues.apache.org/jira/browse/AMQ-8168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Lichtin updated AMQ-8168:
--------------------------------
Description:
Server-side redelivery no longer working with 5.16.x
Server-side redeliveries triggered by the redeliveryPlugin can no longer be consumed, as they are (incorrectly) suppressed.
Logs from a test show "suppressing duplicate delivery on connection, poison acking":
{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}
To reproduce the issue, use existing test "BrokerRedeliveryTest" and modify slightly, so it's using a failover connection.
{noformat}
protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
- return new ActiveMQConnectionFactory("vm://localhost");
+ return new ActiveMQConnectionFactory("failover:(vm://localhost)");
} @Override{noformat}
After this change to the test, tests start to fail and one sees the symptom logged as:
{noformat}
... suppressing duplicate delivery on connection, poison acking ... {noformat}
was:
Server-side redelivery no longer working with 5.16.x
Server-side redeliveries triggered by the redeliveryPlugin can no longer be consumed, as they are (incorrectly) suppressed.
Logs from a test show "suppressing duplicate delivery on connection, poison acking":
{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}
> Server-side redelivery no longer working with 5.16.x
> ----------------------------------------------------
>
> Key: AMQ-8168
> URL: https://issues.apache.org/jira/browse/AMQ-8168
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.16.1
> Reporter: Martin Lichtin
> Priority: Major
>
> Server-side redelivery no longer working with 5.16.x
> Server-side redeliveries triggered by the redeliveryPlugin can no longer be consumed, as they are (incorrectly) suppressed.
> Logs from a test show "suppressing duplicate delivery on connection, poison acking":
> {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}
> To reproduce the issue, use existing test "BrokerRedeliveryTest" and modify slightly, so it's using a failover connection.
> {noformat}
> protected ActiveMQConnectionFactory createConnectionFactory() throws Exception {
> - return new ActiveMQConnectionFactory("vm://localhost");
> + return new ActiveMQConnectionFactory("failover:(vm://localhost)");
> } @Override{noformat}
> After this change to the test, tests start to fail and one sees the symptom logged as:
> {noformat}
> ... suppressing duplicate delivery on connection, poison acking ... {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)