Skip to content

Emit cancellation event only when stream consumer is cancelled #13092

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

Merged
merged 1 commit into from
Jan 17, 2025

Conversation

acogoluegnes
Copy link
Contributor

Not when the channel or the connection is closed.

References #13085, #9356

Not when the channel or the connection is closed.

References #13085, #9356
@acogoluegnes acogoluegnes force-pushed the stream-consumer-cancel-event branch from 5c19e4e to 69d0382 Compare January 17, 2025 13:43
@acogoluegnes acogoluegnes marked this pull request as ready for review January 17, 2025 13:44
@acogoluegnes acogoluegnes merged commit 1886cae into main Jan 17, 2025
268 of 272 checks passed
@acogoluegnes acogoluegnes deleted the stream-consumer-cancel-event branch January 17, 2025 14:13
acogoluegnes added a commit that referenced this pull request Jan 17, 2025
Emit cancellation event only when stream consumer is cancelled (backport #13092)
acogoluegnes added a commit that referenced this pull request May 28, 2025
Not only when it is removed explicitly by the client. This is necessary
to make sure the consumer record is removed from the management ETS
tables (consumer_stats) and to avoid ghost consumers.

For other protocols like AMQP 091, the consumer_status ETS table is
cleaned up when a channel goes down, but there is no channel concept in
the stream protocol.

This is not consistent with other protocols or queue implementations
(which emits the event only on explicit consumer cancellation)
but is necessary to clean up stats correctly.

References #13092
mergify bot pushed a commit that referenced this pull request May 29, 2025
Not only when it is removed explicitly by the client. This is necessary
to make sure the consumer record is removed from the management ETS
tables (consumer_stats) and to avoid ghost consumers.

For other protocols like AMQP 091, the consumer_status ETS table is
cleaned up when a channel goes down, but there is no channel concept in
the stream protocol.

This is not consistent with other protocols or queue implementations
(which emits the event only on explicit consumer cancellation)
but is necessary to clean up stats correctly.

References #13092

(cherry picked from commit 52c89ab)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants