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
The documentation states an exchange that is declared will be done so as not durable by default but the opposite is actually true.
Rabbot is abstracting the creation of exchanges done under the hood by amqplib without specifically setting durable to false. When a user of the Rabbot library declares an exchange Rabbot does so without explicitly setting the durable flag to false. This results in exchanges being declared as durable by default which is in opposition to what's described in documentation for Rabbot.
Reproduction
Run the below and you will end up with an exchanged called "test-ex" which is, by default, durable.
Once this incongruity is understood this is only problematic in so far as some client somewhere may crash because it declares the same exchange explicitly with durable true while another client declared an exchange by default expecting the default configuration to set the exchange to true for it.
Suggestions
I suggest either updating the documentation to reflect the true default value for the durable option for exchange declaration or updating the Rabbot library to hold true to what's been described in the documentation and expected by developers.
I would also suggest re-reviewing the documentation as a whole and confirming its truth so that new developers who do follow the documentation will have an opportunity to trust more of the documentation and potentially experience less issues.
Thanks!
The text was updated successfully, but these errors were encountered:
The documentation states an exchange that is declared will be done so as not durable by default but the opposite is actually true.
Rabbot is abstracting the creation of exchanges done under the hood by amqplib without specifically setting durable to false. When a user of the Rabbot library declares an exchange Rabbot does so without explicitly setting the durable flag to false. This results in exchanges being declared as durable by default which is in opposition to what's described in documentation for Rabbot.
Reproduction
Run the below and you will end up with an exchanged called "test-ex" which is, by default, durable.
Once this incongruity is understood this is only problematic in so far as some client somewhere may crash because it declares the same exchange explicitly with durable true while another client declared an exchange by default expecting the default configuration to set the exchange to true for it.
Suggestions
I suggest either updating the documentation to reflect the true default value for the durable option for exchange declaration or updating the Rabbot library to hold true to what's been described in the documentation and expected by developers.
I would also suggest re-reviewing the documentation as a whole and confirming its truth so that new developers who do follow the documentation will have an opportunity to trust more of the documentation and potentially experience less issues.
Thanks!
The text was updated successfully, but these errors were encountered: