You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@activemq.apache.org by GitBox <gi...@apache.org> on 2019/07/10 00:10:27 UTC

[GitHub] [activemq-artemis] jbertram commented on issue #2747: ARTEMIS-2420 Add DLA prefix configuration property, to allow dynamic DLA/DLQ creation

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:
users@infra.apache.org


With regards,
Apache Git Services