Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dead Letter Pipeline Configuration #1252

Closed
3 tasks done
phatboyg opened this issue Dec 4, 2018 · 5 comments
Closed
3 tasks done

Dead Letter Pipeline Configuration #1252

phatboyg opened this issue Dec 4, 2018 · 5 comments
Labels
Feature Future development, new feature, etc.

Comments

@phatboyg
Copy link
Member

phatboyg commented Dec 4, 2018

Allow the dead letter pipeline to be configured.

By default, the dead letter pipeline moves the message to the _skipped queue.

  • Allow the pipeline to be configured
  • Add extension methods to add the default filters

Azure Service Bus

  • Add a filter to move the message to the built-in dead letter queue
@phatboyg phatboyg added the Feature Future development, new feature, etc. label Dec 4, 2018
@elepner
Copy link

elepner commented Feb 2, 2019

We use MT with ASB very actively. If you implement the feature for sending messages to the built-in DLQ,I will be in seventh heaven. Let me know if I can help somehow.

@elepner
Copy link

elepner commented May 17, 2019

Is it possible to add more description into this issue where I can start extending the code and how the API should look like approximately. I'd love to make PR for ASB DLQ but I don't know where to start.

@wasabii
Copy link

wasabii commented May 31, 2019

I want to concur with elepner. I understand why it is a separate thing. So it's addressable. But it breaks the expectations of existing management tools.

A pattern I can imagine would be to address it with query args: fooqueue?deadletter

@Crozin
Copy link

Crozin commented Dec 6, 2019

  1. AWS SQS also have a native support for dead-letter queues that's basically what MT's .Use[Scheduled]Redelivery is. Not sure if there is any significant value supporting it with native mechanisms?
  2. MT _skipped queue is very limited in its configuration - at least when used with AWS transport. Something I might want to configure could include things like QueueAttributes (think AWS tags for the queue, encryption etc.). The same applies for _error queue as well.

phatboyg added a commit to phatboyg/MassTransit that referenced this issue Feb 26, 2020
…Q (both dead-letter and error transport alternatives)
phatboyg added a commit that referenced this issue Feb 28, 2020
@jpeckham
Copy link

jpeckham commented Mar 23, 2024

was there a way to do this with a ReceiveEndpoint that has a topic subscription. I tried with this code:

       cfg.ReceiveEndpoint("goodbye-consumer", ep =>
       {
           ep.Subscribe("goodbye-topic", "goodbye-consumer");
           /* puts into the queue's dlq "goodbye-consumer/$DeadLetterQeueue"
            * but you cannot re-deliver because it has auto forward rule from hello-topic */
           ep.ConfigureDeadLetterQueueDeadLetterTransport();
           ep.ConfigureDeadLetterQueueErrorTransport();
           ep.ConfigureConsumer<GoodByeConsumer>(context);
       });

If i fault and go into the dlq of the queue and try to 'receive messages' in azure service bus explorer i get an error.
image

My thinking is that there should be a way for them to go to the Topic's DLQ: goodbye-topic/$DeadLetterQueue. That is the typical management strategy of Azure Service bus. Enter the azure service bus explorer of the topic, see the DLQ items and re-send them to the topic. (Arguably i think it's dumb choice on MS part because it goes to every subscriber, but it is the way it works)

EDIT: might be a bug with service bus although i never had autoforward on this queue or the DLQ to my knowledge. Deleting everything and starting over fixed it and redelivery to the queue is superior than the topic.
https://stackoverflow.com/questions/67737252/azure-service-bus-error-cannot-create-a-message-receiver-on-an-entity-with-aut

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Future development, new feature, etc.
Projects
None yet
Development

No branches or pull requests

5 participants