Skip to content

Conversation

@dumbbell
Copy link
Collaborator

@dumbbell dumbbell commented Nov 6, 2024

Why

Without this callback, the deprecated features subsystem can't report if the feature is used or not.

This reduces the usefulness of the HTTP API endpoint or the CLI command that help verify if a cluster is using deprecated features.

How

The callback counts transient non-exclusive queues and return true if there are one or more of them.

References #12619.

@dumbbell dumbbell requested a review from Zerpet November 6, 2024 16:49
@dumbbell dumbbell self-assigned this Nov 6, 2024
@dumbbell dumbbell force-pushed the add-is_feature_used-callback-to-transient_nonexcl_queues-depr-feature branch 2 times, most recently from e20ef6b to da82a7d Compare November 11, 2024 10:33
…_queues` depr. feature

[Why]
Without this callback, the deprecated features subsystem can't report if
the feature is used or not.

This reduces the usefulness of the HTTP API endpoint or the CLI command
that help verify if a cluster is using deprecated features.

[How]
The callback counts transient non-exclusive queues and return `true` if
there are one or more of them.

References #12619.
@dumbbell dumbbell force-pushed the add-is_feature_used-callback-to-transient_nonexcl_queues-depr-feature branch from da82a7d to 638e3a4 Compare November 11, 2024 14:58
@dumbbell dumbbell marked this pull request as ready for review November 11, 2024 15:31
@michaelklishin michaelklishin added this to the 4.1.0 milestone Nov 14, 2024
@michaelklishin michaelklishin merged commit 15d3d5a into main Nov 14, 2024
273 checks passed
@michaelklishin michaelklishin deleted the add-is_feature_used-callback-to-transient_nonexcl_queues-depr-feature branch November 14, 2024 18:57
dumbbell added a commit that referenced this pull request Nov 15, 2024
rabbit_amqqueue: Add `is_feature_used` callback to `transient_nonexcl_queues` depr. feature (backport #12674)
khepri => fun() -> list_transient_in_khepri() end
}).

list_transient_in_mnesia() ->
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry for the late comment, but to me it looks like if mnesia is used, this will list all queues, not just transient ones.
I get a "Deprecated features are being used" "transient_nonexcl_queues | In use Permitted by default" warning when I have a single durable quorum queue.

> rabbit_db_queue:list_transient().
{ok,[#amqqueue{name = #resource{virtual_host = <<"/">>,
                                kind = queue,name = <<"qq1">>},
               durable = true,auto_delete = false,exclusive_owner = none,
               ...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then there is a long-standing bug in this function. Could you please file an issue for it? I can’t work on this one right now.

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.

4 participants