1
0
mirror of https://github.com/fluencelabs/redis synced 2025-03-31 14:51:04 +00:00

Cluster Manager: fix replica assigment anti-affinity (create)

Fix issue 
This commit is contained in:
artix 2019-02-20 15:36:12 +01:00
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++) {