Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 059ffde33f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| use Tackle.Multiconsumer, | ||
| url: Application.get_env(:pre_flight_checks, :amqp_url), | ||
| service: "pre_flight_checks_hub", | ||
| service_per_exchange: true, |
There was a problem hiding this comment.
Remove the old queue when switching queue names
Setting service_per_exchange: true moves these consumers away from the existing pre_flight_checks_hub.deleted queue, but nothing deletes or unbinds that old queue. On the rolling deployment configured for this service, the old and new pods temporarily consume differently named queues bound to the same exchanges, so deletion events are delivered twice; after the old pod exits, its non-auto-delete queue remains bound and accumulates every subsequent deletion event without a consumer. Add an explicit queue migration/cleanup for pre_flight_checks_hub.deleted as part of this rollout.
Useful? React with 👍 / 👎.
059ffde to
baa2055
Compare
baa2055 to
77a42ed
Compare
…re-flight-checks-hub)
tackle 0.4+ derives the queue name from service+routing_key by default. Both routes here (organization_exchange and project_exchange) use the same "deleted" routing key, so without service_per_exchange: true they collapsed onto one shared queue and the two consumers competed for deliveries, misrouting organization/project deletion events between handlers. This is what broke CleanupConsumerTest under the tackle bump.
82eef46 to
64f34f6
Compare
No description provided.