GROUP-103 Auto-delete Consumer Queues After Shutdown #24
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes
In a recent update, Group Sync instances were assigned a unique consumer queue to the group event exchange on RabbitMQ. This was configured through Spring Cloud Stream. The issue with this is those queues aren't deleted after the application is shutdown. Since those queues are unique to the instance that create them, they then accumulate messages until the memory limit has been exceeded.
The following configuration change has been added:
This change adds configuration specific to using the RabbitMQ binder to create an anonymous queue, which according to the Spring RabbitMQ docs:
This also meant having to remove the
group
property for the consumer queue in the Spring Cloud Stream configuration:Once this change goes into place, the pods will be restarted. Their old queues will be deleted manually via the RabbitMQ Admin dashboard in production, which isn't too bad since there are only two.