mirror of
https://github.com/fluencelabs/redis
synced 2025-04-01 15:21:03 +00:00
Cluster Manager: fix replica assigment anti-affinity (create)
Fix issue #5849
This commit is contained in:
parent
35ffbead5c
commit
0f28754021
@ -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++) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user