Azure-docs: What happens with a message that cannot be delivered to a single subscriber out of many

Created on 22 Jan 2019  Â·  9Comments  Â·  Source: MicrosoftDocs/azure-docs

For a single subscriber an event that fails all delivery attempts can be dead-lettered.
What about an event that has several subscribers? What the behaviour then? Will an event be dead-lettered if it can't be delivered to one of the subscribers or all subscribers have to fail? The question was originally raise on SO here.


Document Details

⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

cxp event-grisvc product-question triaged

Most helpful comment

Hi Sean,

The _event topic_, _subscription name_ and _datetime_ are parts of the blob pathname, see the following example:

 testerTopic6/TESTER--2--CLONE/2019/1/24/6/7e194b9c-76ff-41e9-80a3-f8c6be0d4845.json

also, the dead-lettering event message contains this information in the subject property, see an example:

  "subject": "/blobServices/default/containers/test/blobs/testerTopic6/TESTER--2--CLONE/2019/1/24/6/7e194b9c-76ff-41e9-80a3-f8c6be0d4845.json",

Note, that this is a very useful for filtering purposes, when we can subscribe on the storage account and handle a specific dead-lettering for topic and/or subscription.

Having this info in the blob pathname allows to use also a BlobTrigger function for a specific container, topic and subscription.

Thanks
Roman

All 9 comments

Also in the case of multiple subscribers, I assume that re-delivery attempts are sent to only the subscriber that failed, not to all subscribers, but can this be confirmed in the official documentation?

@SeanFeldman
Thank you for the detailed feedback. We are actively investigating and will get back to you soon.

Hi @SeanFeldman, deadlettering in Event Grid is configured on each event subscription so the behavior is that the failed event subscription would dead letter the event regardless of what has happened with the other parallel event subscriptions.

This of course implies two interesting questions - how do I know which subscription failed, and if multiple failed, how do I manage the multiple copies of the deadlettered event? Because you can set a specific container as the dead letter destination for each event subscription, the best way to mange either of these scenarios is to have a seperate container per event subscription as a dead letter destination.

@andrewjw1995 that is correct, in the case of multiple subscribers, thre re-delivery attempts are only sent to the subscriber that failed. We will clarify this in the documentation.

First, thank you @banisadr.
Second, for the DLQ-ed messages, do you think it would be possible to have those blobs stamped with the failing subscriber info (using blob metadata)? I can see customers asking for a single container, but still be able to identify what subscriber did fail.

Hi Sean,

The _event topic_, _subscription name_ and _datetime_ are parts of the blob pathname, see the following example:

 testerTopic6/TESTER--2--CLONE/2019/1/24/6/7e194b9c-76ff-41e9-80a3-f8c6be0d4845.json

also, the dead-lettering event message contains this information in the subject property, see an example:

  "subject": "/blobServices/default/containers/test/blobs/testerTopic6/TESTER--2--CLONE/2019/1/24/6/7e194b9c-76ff-41e9-80a3-f8c6be0d4845.json",

Note, that this is a very useful for filtering purposes, when we can subscribe on the storage account and handle a specific dead-lettering for topic and/or subscription.

Having this info in the blob pathname allows to use also a BlobTrigger function for a specific container, topic and subscription.

Thanks
Roman

Hi @SeanFeldman Just checking to see if you had any further questions regarding this matter. Otherwise, we'll proceed to close this issue. Thanks!

@mike-urnun-msft I'm good. If there's an open PR to update doco you could link this issue to, it would be ok to close this one. Thanks.

We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bityob picture bityob  Â·  3Comments

mrdfuse picture mrdfuse  Â·  3Comments

bdcoder2 picture bdcoder2  Â·  3Comments

spottedmahn picture spottedmahn  Â·  3Comments

paulmarshall picture paulmarshall  Â·  3Comments