Skip to content
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

restore broken "Automatically create input queue if it suddenly disappears" feature #49

Merged
merged 3 commits into from
Mar 25, 2019

Conversation

jarikp
Copy link
Contributor

@jarikp jarikp commented Mar 19, 2019

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.

jarikp added 2 commits March 19, 2019 17:25
…a queue has been removed on the RabbitMQ server, 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.
@jarikp
Copy link
Contributor Author

jarikp commented Mar 19, 2019

somehow the unit test is failing when it run along with other tests, but it passes if it run as single test :-|

@jarikp
Copy link
Contributor Author

jarikp commented Mar 25, 2019

@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?

@mookid8000
Copy link
Member

oh sorry, I completely forgot about this! I'll get back to it tonight

@mookid8000 mookid8000 merged commit 143837f into rebus-org:master Mar 25, 2019
@mookid8000
Copy link
Member

Excellent solution! 👍 it will be out in Rebus.RabbitMq 5.1.2 in a few minutes.

@jarikp
Copy link
Contributor Author

jarikp commented Mar 26, 2019

Thank you! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants