[
https://issues.apache.org/jira/browse/ARTEMIS-2420?focusedWorklogId=274565&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-274565
]
ASF GitHub Bot logged work on ARTEMIS-2420:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 10/Jul/19 00:10
Start Date: 10/Jul/19 00:10
Worklog Time Spent: 10m
Work Description: jbertram commented on issue #2747: ARTEMIS-2420 Add DLA
prefix configuration property, to allow dynamic DLA/DLQ creation
URL: https://github.com/apache/activemq-artemis/pull/2747#issuecomment-509855626
> I was trying to find out all usages of dead letter address config and I
haven't seen it being used for any address/queue creation anywhere unless I
missed it.
That's exactly my point. The broker currently doesn't automatically create a
dead-letter address or queue (prefixed or not) for any reason. They have to be
created manually. Your PR doesn't change this which is why it doesn't actually
solve the problem. Notice that your tests are explicitly calling `createQueue`
for the DLA/DLQ which is being tested.
> Therefore having everything in a huge bag DLA/DLQ is not the most
convenient way to support failures, where customers are obviously in rush and
they have different priorities for different processes.
Nothing is forcing you to use a "huge bag DLA/DLQ" assuming you have some
kind of address/queue naming scheme which follows a particular pattern. This is
a common practice in messaging solutions. For example, all queues dealing with
function X might be named `functionX.queue1`, `functionX.queue2`, etc. Then you
could have an address-setting whose match is `functionX.#` and
dead-letter-address is `DLA.functionX`, etc. I'm not saying you have to do it
this way. I'm just trying to outline what options you have at this point and to
make clear that having a 1:1 mapping between an address and dead-letter address
is not necessarily required for handling undeliverable messages in a dynamic
environment.
> Is there any chance you could provide more details on what is needed...
The current PR is just one piece of the puzzle. Off the top of my head, I
think you'll need to add parameters to cover:
- dead-letter address routing type
- dead-letter queue name
- a way to indicate whether or not they dead-letter address/queue should be
auto-created (which should be false by default to preserve the existing
behavior)
Also:
- you'll need to actually create the dead-letter address & queue with the
proper routing type
- give some thought to security; we may want the ability to prevent users
from somehow tricking the broker into creating a bunch of extra queues
I'm sure there's more that I'm not thinking about now. Your solution can
evolve through the review process.
----------------------------------------------------------------
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: 274565)
Time Spent: 1h (was: 50m)
Remaining Estimate: 11h (was: 11h 10m)
> 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: 1h
> Remaining Estimate: 11h
>
> 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.3#76005)