Closed jarikp closed 5 years ago
somehow the unit test is failing when it run along with other tests, but it passes if it run as single test :-|
@mookid8000 Mogens, sorry to bother you, but did you have chance to look at this fix suggestion? Is it a valid way of solving the problem?
oh sorry, I completely forgot about this! I'll get back to it tonight
Excellent solution! 👍 it will be out in Rebus.RabbitMq 5.1.2 in a few minutes.
Thank you! 👍
It looks like the feature "Automatically create input queue if it suddenly disappears while the app is running " announced in release "5.0.0" has been broken in a later release, when the method EnsureConsumerInitialized() was refactored.
Here is my suggestion for fixing this in RabbitMqTransport, based on "Model.QueueDeclarePassive" try-catch. In case of failure, the transport must recycle the "broken" (unbound) model and try to re-create subscriptions using existing logic.
Please advice, whether this way of queue-existence checking may have any negative impact on the performance or is it ok to have this way?
A unit test is included to illustrate the problem scenario and wanted behavior.
Best regards /Jarik
Rebus is MIT-licensed. The code submitted in this pull request needs to carry the MIT license too. By leaving this text in, I hereby acknowledge that the code submitted in the pull request has the MIT license and can be merged with the Rebus codebase.