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

Track requeue history #12506

Merged
merged 4 commits into from
Oct 11, 2024
Merged

Track requeue history #12506

merged 4 commits into from
Oct 11, 2024

Conversation

ansd
Copy link
Member

@ansd ansd commented Oct 11, 2024

Track requeue history

Support tracking the requeue history as described in rabbitmq/rabbitmq-website#2095

This commit:

  1. adds a test case tracing the requeue history via AMQP 1.0 using the modified outcome and
  2. fixes bugs in the broker which crashed if a modified message annotation value is an AMQP 1.0 list, map, or array.

Complex modified annotation values (list, map, array) are stored as tagged values from now on.
This means AMQP 0.9.1 consumers will not receive modified annotations of
type list, map, or array (which is okay).

@ansd ansd marked this pull request as draft October 11, 2024 07:50
@ansd ansd marked this pull request as ready for review October 11, 2024 08:53
@ansd ansd force-pushed the test-requeue-history branch 2 times, most recently from a33bcdf to de072e0 Compare October 11, 2024 10:19
Support tracking the requeue history as described in
rabbitmq/rabbitmq-website#2095

This commit:
1. adds a test case tracing the requeue history via AMQP 1.0
   using the modified outcome and
2. fixes bugs in the broker which crashed if a modified message
   annotation value is an AMQP 1.0 list, map, or array.

Complex modified annotation values (list, map, array) are stored as tagged values from now on.
This means AMQP 0.9.1 consumers will not receive modified annotations of
type list, map, or array (which is okay).
Test the use case described in rabbitmq/rabbitmq-website#2095:

> Rather than relying solely on RabbitMQ's built-in dead lettering tracking via x-opt-deaths,
consumers can customise dead lettering event tracking.
acogoluegnes added a commit to rabbitmq/rabbitmq-amqp-java-client that referenced this pull request Oct 11, 2024
@ansd ansd merged commit fdc6bd1 into main Oct 11, 2024
334 checks passed
@ansd ansd deleted the test-requeue-history branch October 11, 2024 13:50
michaelklishin added a commit that referenced this pull request Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant