You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.
Hi, after changing to using AsyncEventingBasicConsumer in #987 deadlock occurs when unhandled exception
If an unhandled exception occurs in EventBusRabbitMQ.Consumer_Received and channel.CallbackException is invoked then with current implementation _consumerChannel.Dispose(); blocks and causes deadlock
Thoughts on this? I've failed to find a fix for this and instead choosing to not do anything when _consumerChannel.IsOpen
@mvelosop
Manually throwing a new exception instead of say acking the message should do it. There being an exceptioncallback with logic to restore the channel one could presume that would be alright? Behavior then seems to be either a block/deadlock on dispose or it takes some seconds there and instead a block/deadlock on _connection.CreateModel() in DefaultRabbitMQPersistentConnection
This problem only occurs when using async consumer
I've been investigating about this "interesting" issue, and even though I couldn't reproduce it, I had found a similar deadlock issue that stopped orders from getting to the final Paid status.
Beginning with one of your suggested links and reading a "bit" I got to a change that seems to have solved my deadlock issue.
Could you try branch fix/1052-rabbitmq-deadlock or at least apply the canges of commit 2621c36 to your repo, to check if this works for you too?
Although I couldn't reproduce this specific problem, a similar deadlock issue that occurred always during regular processing on the last order status, was solved with PR #1079.
So I'm closing this issue now, but feel free to comment. Will reopen if needed.
Hi, after changing to using AsyncEventingBasicConsumer in #987 deadlock occurs when unhandled exception
If an unhandled exception occurs in
EventBusRabbitMQ.Consumer_Received
and channel.CallbackException is invoked then with current implementation_consumerChannel.Dispose();
blocks and causes deadlockThoughts on this? I've failed to find a fix for this and instead choosing to not do anything when
_consumerChannel.IsOpen
Links with same problem:
https://groups.google.com/forum/#!topic/rabbitmq-users/N76hwS7BEpg
rabbitmq/rabbitmq-dotnet-client#341
The text was updated successfully, but these errors were encountered: