Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
0f287540
Commit
0f287540
authored
Feb 20, 2019
by
artix
Browse files
Cluster Manager: fix replica assigment anti-affinity (create)
Fix issue #5849
parent
35ffbead
Changes
1
Show whitespace changes
Inline
Side-by-side
src/redis-cli.c
View file @
0f287540
...
@@ -4918,6 +4918,12 @@ static int clusterManagerCommandCreate(int argc, char **argv) {
...
@@ -4918,6 +4918,12 @@ static int clusterManagerCommandCreate(int argc, char **argv) {
cursor += slots_per_node;
cursor += slots_per_node;
}
}
/* Rotating the list sometimes helps to get better initial
* anti-affinity before the optimizer runs. */
clusterManagerNode *first_node = interleaved[0];
for (i = 0; i < (interleaved_len - 1); i++)
interleaved[i] = interleaved[i + 1];
interleaved[interleaved_len - 1] = first_node;
int assign_unused = 0, available_count = interleaved_len;
int assign_unused = 0, available_count = interleaved_len;
assign_replicas:
assign_replicas:
for (i = 0; i < masters_count; i++) {
for (i = 0; i < masters_count; i++) {
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment