Replies: 2 comments 1 reply
-
Thanks for taking the time to report this. I have converted your issue to a discussion until an actual bug is found. In order to expedite us investigating and fixing the issue, please provide a git repository we can clone and run to see this behavior. Right now you're asking us to guess how to put together code to reproduce the issue. If using the example consumer code here is sufficient, let us know that. |
Beta Was this translation helpful? Give feedback.
-
I'm not able to reproduce this issue. I've open a connection and a channel, registered for channel close notifications, force-close the connection via the HTTP API, and the channel receives a notification. I noticed that I have to wait a couple seconds before attempting to close the connection via the management UI, but simply because the HTTP API is not aware of the connections, until a few seconds pass. Other than this, it works as we expect. I'm happy to investigate further if you can provide some code, or steps, that reliably reproduces the issue. In any case, what you are doing (i.e. subcribing to connection events) is also the right thing. I would advise to use buffered channels for notifications, capacity 1 should be fine. This is to avoid potential deadlocks in the library, which may block on sending a notification, and that might interfere with the shutdown process. |
Beta Was this translation helpful? Give feedback.
-
Don't know if this is a bug:
When developing in Eventing RabbitMQ we used the RabbitMQ management UI to close connections and its channels, to test failure scenarios. But we got to a point were the consumers channels were not sending the
channel closed
message when force closing the connection from the UI, so we ended up listening to the notifyClose channel too to make sure that the connection was been terminated.Example of the solution in this lines: https://github.com/knative-sandbox/eventing-rabbitmq/blob/07d82a4a283cffb87a11ac306d5d642f341f42f1/pkg/dispatcher/dispatcher.go#L108-L129
when the las case should be enough to catch the connection closed event
Maybe there is something to look at, a potential memory leak or maybe was just a design decision from you, just reporting in case is not the later =)
Beta Was this translation helpful? Give feedback.
All reactions