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

Allow transports to add additional data to ingest #3830

Open
mauroservienti opened this issue Nov 16, 2023 · 0 comments
Open

Allow transports to add additional data to ingest #3830

mauroservienti opened this issue Nov 16, 2023 · 0 comments

Comments

@mauroservienti
Copy link
Member

mauroservienti commented Nov 16, 2023

Describe the suggested improvement

Is your improvement related to a problem? Please describe.

The Amazon SQS transport has native headers support. However, SQS has limitations on how many native headers can be set. To overcome those limitations, NServiceBus endpoints use two different techniques (irrelevant for this issue).

Recently, the SQS transport was improved, allowing it to process any native message type regardless of whether the sender is an NServiceBus endpoint or not.

What could happen is that a native message reaches the endpoint input queue. The message has a body and a few message attributes (the SQS headers). The transport picks up the message; if processing fails, the message is forwarded to the error queue.

When the transport runs in ServiceControl and picks up the failed native message mentioned above, it'll forward it to the ingestion pipeline as is without the message attributes because those are stored in the extension bag (and not promoted to transport message headers).

That means that when ServiceControl retries the failed message, the message attributes are gone, and the retried message has less data than the originally failed one.

Related SQS issue: Particular/NServiceBus.AmazonSQS#2356

Describe the suggested solution

  • Allow transports to know they are running in ServiceControl
  • Allow transports to store/retrieve additional data when running in ServiceControl

Describe alternatives you've considered

A hack specific to SQS could be Particular/NServiceBus.AmazonSQS#2356 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant