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

Handle queue declaration failures in Khepri minority (backport #11980) (backport #12019) #12020

Merged
merged 4 commits into from
Aug 15, 2024

Commits on Aug 15, 2024

  1. minor: Correct outdated spec for rabbit_amqqueue:lookup/1

    The clause of the spec that allowed passing a list of queue name
    resources is out of date: the guard prevents a list from ever matching.
    
    (cherry picked from commit d3752c4)
    (cherry picked from commit bb5fda6)
    the-mikedavis authored and mergify[bot] committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    39ae386 View commit details
    Browse the repository at this point in the history
  2. minor: Clean up error message for failure to declare stream queue

    `rabbit_misc:rs/1` for a queue resource will print
    `queue '<QName>' in vhost '<VHostName>'` so the "a queue" and
    surrounding single quotes should be removed here.
    
    (cherry picked from commit f60a9b5)
    (cherry picked from commit 246e8fa)
    the-mikedavis authored and mergify[bot] committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    c608e3b View commit details
    Browse the repository at this point in the history
  3. Handle database timeouts when declaring queues

    This fixes a case-clause crash in the logs in `cluster_minority_SUITE`.
    When the database is not available `rabbit_amqqueue:declare/6,7` should
    return a `protocol_error` record with an error message rather than a
    hard crash. Also included in this change is the necessary changes to
    typespecs: `rabbit_db_queue:create_or_get/1` is the first function to
    return a possible `{error,timeout}`. That bubbles up through
    `rabbit_amqqueue:internal_declare/3` and must be handled in each
    `rabbit_queue_type:declare/2` callback.
    
    (cherry picked from commit 8889d40)
    (cherry picked from commit 1d0e840)
    the-mikedavis authored and mergify[bot] committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    1ea7f70 View commit details
    Browse the repository at this point in the history
  4. Handle database timeouts in rabbit_amqqueue:store_queue/1

    (cherry picked from commit 8eef209)
    (cherry picked from commit 1cd66e8)
    the-mikedavis authored and mergify[bot] committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    5f46547 View commit details
    Browse the repository at this point in the history