[
https://issues.apache.org/jira/browse/ARTEMIS-2420?focusedWorklogId=279360&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-279360
]
ASF GitHub Bot logged work on ARTEMIS-2420:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 18/Jul/19 21:35
Start Date: 18/Jul/19 21:35
Worklog Time Spent: 10m
Work Description: PiotrKlimczak commented on issue #2760: ARTEMIS-2420
Adding support for DLA/DLQ prefix for wildcard addresses
URL: https://github.com/apache/activemq-artemis/pull/2760#issuecomment-512983300
OK so I am running all tests now so taking this time to write some design
documentation of what was implemented how and why.
Let's start with example configuration:
<address-setting match="#">
<dead-letter-address-auto-create prefix="DLA.">
<routing-type>AS_ORIGIN</routing-type>
<durable>true</durable>
<temporary>false</temporary>
</dead-letter-address-auto-create>
</address-setting>
<address-setting match="DLA.#">
<!-- DLA config goes here, as for standard addresses -->
</address-setting>
So how DLAs will behave, can be configured in standard way.
Also there is new routing type added for DLA addresses only: AS_ORIGIN.
This new type ensures that if you have multiple queues for address, the
message will go to corresponding DLQ only. So if you have address A1 with
queues Q1 and Q2, and Q2 consumption fails, the message will go only to DLA.Q2
DLQ and never to DLA.Q1.
This ensures predictive dead letter outcome if configured, as obviously
ANYCAST and MULTICAST (default) are also supported.
EDIT 1
Dead Letter Auto creation only works for messages which were rolled back
from consumer.
It doesnt work for messages which were sent to address with no queues.
This is because it would be then likely for the broker to run into stack
overflow, if DLA would be configured with queue auto creation disabled.
Additionally it would be small value I think but I am happy to be challenged
on that.
Overall my work is not fully finished, as I would like to add more tests and
address more concerns raised.
But also I am not going to polish it to achieve full happines, without
confirmation from you guys, that it is heading in good direction- just to save
me wasting my time if it is not.
EDIT 2
Above can be reviewed in this PR:
https://github.com/clebertsuconic/activemq-artemis/pull/29
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 279360)
Time Spent: 7h 50m (was: 7h 40m)
Remaining Estimate: 4h 10m (was: 4h 20m)
> Reimplementation of AMQ5 dead letter strategy queuePrefix
> ---------------------------------------------------------
>
> Key: ARTEMIS-2420
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2420
> Project: ActiveMQ Artemis
> Issue Type: Improvement
> Components: Broker
> Affects Versions: 2.9.0
> Reporter: Piotr Klimczak
> Priority: Major
> Original Estimate: 12h
> Time Spent: 7h 50m
> Remaining Estimate: 4h 10m
>
> ActiveMQ Classic supports DLQ prefixes for dynamically created destinations.
> This causes regression when switching from AMQ5 to AMQ Artemis, therefore it
> should be reimplemented.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)