You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Martin Lichtin <li...@yahoo.com.INVALID> on 2021/01/27 17:41:45 UTC
Server-side redelivery no longer working with 5.16.0/5.16.1
Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
I see AMQ-7298 which may contribute to a change in this area.
- Martin
Re: Server-side redelivery no longer working with 5.16.0/5.16.1
Posted by Martin Lichtin <li...@yahoo.com.INVALID>.
Added a comment toAMQ-7298 on how to reproduce the issue:
https://issues.apache.org/jira/browse/AMQ-7298?focusedCommentId=17292431&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17292431
On 01.02.2021 16:41, Martin Lichtin wrote:
> It could be related to AMQ-7298 which is a Jira I found that modified the redelivery code.
>
> On 31.01.2021 16:57, Jean-Baptiste Onofre wrote:
>> Hmmm, that’s really weird. SchedulerSupport is enabled on the broker ?
>>
>> Let me try to reproduce. I keep you posted.
>>
>> Regards
>> JB
>>
>>> Le 31 janv. 2021 à 16:54, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>>
>>> There's no exception, but the re-delivery no longer works.
>>> It's a server-side redelivery case, configuring the broker with the redeliveryPlugin, such as:
>>>
>>> <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
>>> <redeliveryPolicyMap>
>>> <redeliveryPolicyMap>
>>> <redeliveryPolicyEntries>
>>> <redeliveryPolicy queue="TEST.>" maximumRedeliveries="5" initialRedeliveryDelay="2000" redeliveryDelay="2000" />
>>> </redeliveryPolicyEntries>
>>> </redeliveryPolicyMap>
>>> </redeliveryPolicyMap>
>>> </redeliveryPlugin>
>>>
>>> then consuming a message from a 'TEST.abc' queue, the test code throwing an exception to let it go back to server so it gets redelivered after 2 seconds. With 5.16.1 this no longer works, as the re-delivery is for some reason is considered a duplicate and suppressed.
>>> The logs:
>>>
>>> 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://TEST.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://TEST.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://TEST.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=2000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
>>>
>>> Of course it is a duplicate, but JMSRedelivered will be set to true, and another header tells the consumer the redelivery count.
>>> Any version before 5.16.0, this works fine and the "suppressing duplicate" does not occur.
>>>
>>> - Martin
>>>
>>> On 27.01.2021 19:24, Jean-Baptiste Onofre wrote:
>>>> Hi Martin,
>>>>
>>>> Do you have some exception ?
>>>>
>>>> Let me try it on 5.16.1 (I didn’t see any issue but I might have missed it).
>>>>
>>>> Regards
>>>> JB
>>>>
>>>>> Le 27 janv. 2021 à 18:41, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>>>>
>>>>> Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
>>>>>
>>>>> Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
>>>>>
>>>>> I see AMQ-7298 which may contribute to a change in this area.
>>>>>
>>>>> - Martin
>>>>>
>>>>>
>>
>
Re: Server-side redelivery no longer working with 5.16.0/5.16.1
Posted by Martin Lichtin <li...@yahoo.com.INVALID>.
It could be related to AMQ-7298 which is a Jira I found that modified the redelivery code.
On 31.01.2021 16:57, Jean-Baptiste Onofre wrote:
> Hmmm, that’s really weird. SchedulerSupport is enabled on the broker ?
>
> Let me try to reproduce. I keep you posted.
>
> Regards
> JB
>
>> Le 31 janv. 2021 à 16:54, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>
>> There's no exception, but the re-delivery no longer works.
>> It's a server-side redelivery case, configuring the broker with the redeliveryPlugin, such as:
>>
>> <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
>> <redeliveryPolicyMap>
>> <redeliveryPolicyMap>
>> <redeliveryPolicyEntries>
>> <redeliveryPolicy queue="TEST.>" maximumRedeliveries="5" initialRedeliveryDelay="2000" redeliveryDelay="2000" />
>> </redeliveryPolicyEntries>
>> </redeliveryPolicyMap>
>> </redeliveryPolicyMap>
>> </redeliveryPlugin>
>>
>> then consuming a message from a 'TEST.abc' queue, the test code throwing an exception to let it go back to server so it gets redelivered after 2 seconds. With 5.16.1 this no longer works, as the re-delivery is for some reason is considered a duplicate and suppressed.
>> The logs:
>>
>> 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://TEST.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://TEST.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://TEST.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=2000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
>>
>> Of course it is a duplicate, but JMSRedelivered will be set to true, and another header tells the consumer the redelivery count.
>> Any version before 5.16.0, this works fine and the "suppressing duplicate" does not occur.
>>
>> - Martin
>>
>> On 27.01.2021 19:24, Jean-Baptiste Onofre wrote:
>>> Hi Martin,
>>>
>>> Do you have some exception ?
>>>
>>> Let me try it on 5.16.1 (I didn’t see any issue but I might have missed it).
>>>
>>> Regards
>>> JB
>>>
>>>> Le 27 janv. 2021 à 18:41, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>>>
>>>> Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
>>>>
>>>> Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
>>>>
>>>> I see AMQ-7298 which may contribute to a change in this area.
>>>>
>>>> - Martin
>>>>
>>>>
>
Re: Server-side redelivery no longer working with 5.16.0/5.16.1
Posted by Jean-Baptiste Onofre <jb...@nanthrax.net>.
Hmmm, that’s really weird. SchedulerSupport is enabled on the broker ?
Let me try to reproduce. I keep you posted.
Regards
JB
> Le 31 janv. 2021 à 16:54, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>
> There's no exception, but the re-delivery no longer works.
> It's a server-side redelivery case, configuring the broker with the redeliveryPlugin, such as:
>
> <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
> <redeliveryPolicyMap>
> <redeliveryPolicyMap>
> <redeliveryPolicyEntries>
> <redeliveryPolicy queue="TEST.>" maximumRedeliveries="5" initialRedeliveryDelay="2000" redeliveryDelay="2000" />
> </redeliveryPolicyEntries>
> </redeliveryPolicyMap>
> </redeliveryPolicyMap>
> </redeliveryPlugin>
>
> then consuming a message from a 'TEST.abc' queue, the test code throwing an exception to let it go back to server so it gets redelivered after 2 seconds. With 5.16.1 this no longer works, as the re-delivery is for some reason is considered a duplicate and suppressed.
> The logs:
>
> 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://TEST.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://TEST.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://TEST.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=2000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
>
> Of course it is a duplicate, but JMSRedelivered will be set to true, and another header tells the consumer the redelivery count.
> Any version before 5.16.0, this works fine and the "suppressing duplicate" does not occur.
>
> - Martin
>
> On 27.01.2021 19:24, Jean-Baptiste Onofre wrote:
>> Hi Martin,
>>
>> Do you have some exception ?
>>
>> Let me try it on 5.16.1 (I didn’t see any issue but I might have missed it).
>>
>> Regards
>> JB
>>
>>> Le 27 janv. 2021 à 18:41, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>>
>>> Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
>>>
>>> Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
>>>
>>> I see AMQ-7298 which may contribute to a change in this area.
>>>
>>> - Martin
>>>
>>>
>>
Re: Server-side redelivery no longer working with 5.16.0/5.16.1
Posted by Martin Lichtin <li...@yahoo.com.INVALID>.
There's no exception, but the re-delivery no longer works.
It's a server-side redelivery case, configuring the broker with the redeliveryPlugin, such as:
<redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
<redeliveryPolicyMap>
<redeliveryPolicyMap>
<redeliveryPolicyEntries>
<redeliveryPolicy queue="TEST.>" maximumRedeliveries="5" initialRedeliveryDelay="2000" redeliveryDelay="2000" />
</redeliveryPolicyEntries>
</redeliveryPolicyMap>
</redeliveryPolicyMap>
</redeliveryPlugin>
then consuming a message from a 'TEST.abc' queue, the test code throwing an exception to let it go back to server so it gets redelivered after 2 seconds. With 5.16.1 this no longer works, as the re-delivery is for some reason is considered a duplicate and suppressed.
The logs:
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://TEST.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://TEST.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://TEST.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=2000, scheduledJobId=ID:mlipc2-4159-1611768583683-1:15:1:1:2}, readOnlyProperties = true, readOnlyBody = true, droppable = false, jmsXGroupFirstForConsumer = false, text = XXX}, redeliveryCounter = 1}
Of course it is a duplicate, but JMSRedelivered will be set to true, and another header tells the consumer the redelivery count.
Any version before 5.16.0, this works fine and the "suppressing duplicate" does not occur.
- Martin
On 27.01.2021 19:24, Jean-Baptiste Onofre wrote:
> Hi Martin,
>
> Do you have some exception ?
>
> Let me try it on 5.16.1 (I didn’t see any issue but I might have missed it).
>
> Regards
> JB
>
>> Le 27 janv. 2021 à 18:41, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>>
>> Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
>>
>> Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
>>
>> I see AMQ-7298 which may contribute to a change in this area.
>>
>> - Martin
>>
>>
>
Re: Server-side redelivery no longer working with 5.16.0/5.16.1
Posted by Jean-Baptiste Onofre <jb...@nanthrax.net>.
Hi Martin,
Do you have some exception ?
Let me try it on 5.16.1 (I didn’t see any issue but I might have missed it).
Regards
JB
> Le 27 janv. 2021 à 18:41, Martin Lichtin <li...@yahoo.com.INVALID> a écrit :
>
> Hi, has anything changed regarding server-side redelivery using the <redeliveryPlugin>?
>
> Going from 5.15.14 to 5.16.1, it seems to no longer work as expected.
>
> I see AMQ-7298 which may contribute to a change in this area.
>
> - Martin
>
>