-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Try alternative process name if cluster could not be formed #11866
Conversation
The Actions failures have to do with secret access for external contributions. We will run the tests as part of the QA process, don't sweat it. |
@alexnkdev can you please rebase this PR on top of |
58b8c9d
to
5d94a4f
Compare
5d94a4f
to
1be524a
Compare
@michaelklishin done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is an xref failure:
Undefined function rabbit_queue_type_util:name_concat/1 called by rabbit_quorum_queue:start_cluster/1
And indeed, name_concat/1
is not exported.
AlternativeRaName = rabbit_data_coercion:to_atom(ra:new_uid(rabbit_queue_type_util:name_concat(QName))), | ||
rabbit_log:debug("Could not form cluster ~ts, trying alternative name ~ts", | ||
[RaName, AlternativeRaName]), | ||
case internal_declare(Q, AlternativeRaName, LeaderNode, FollowerNodes) of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't handle every error internal_declare/4
can return.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it also doesn't handle the partial case where there is a name conflict in a minority subset of the members.
To run xref and Dialyzer, use bazel test //deps/rabbit:xref
bazel test //deps/rabbit:dialyze with Bazel or cd deps/rabbit
gmake xref
# gmake dialyze is broken with Make IIRC |
This cannot be merged due to an Closing after a few weeks without any activity. |
Proposed Changes
Retry cluster creation with alternative name, if replica process name conflicts between queues in different virtual hosts.
Fixes #11038
Types of Changes
What types of changes does your code introduce to this project?
Checklist
CONTRIBUTING.md
document