Handle timeouts possible in Khepri minority in rabbit_db_exchange (backport #11785)
#11821
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Continuation of the changes like in #11685 and #11706 but for exchanges.
The changes for exchanges are a bit more involved than prior PRs. Here's a summary of the changes:
rabbit_exchange:declare/7's spec is updated to return{ok, #exchange{}} | {error, timeout}where it returned just#exchange{}beforerabbit_exchange:delete/3need some small changes to handle an{error, timeout}returnrabbit_exchange:ensure_deleted/3wrapper that covers the common case for callers whereok | {error, not_found}are handled the same way.timeout => infinityfor calls for updating the exchange serialThis is an automatic backport of pull request Handle timeouts possible in Khepri minority in
rabbit_db_exchange#11785 done by Mergify.