From 091701f363da953695b52cd7b4d7668d47f0258e Mon Sep 17 00:00:00 2001 From: Bar Shaul <88437685+barshaul@users.noreply.github.com> Date: Tue, 21 Jun 2022 07:40:48 +0300 Subject: [PATCH] Set replicas' configEpoch to 0 when loaded from cluster configuration file (#10798) * Changed clusterLoadConfig to set the config epoch of replica nodes to 0 when loaded. --- src/cluster.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cluster.c b/src/cluster.c index cdbc565ec..a5d614815 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -308,8 +308,10 @@ int clusterLoadConfig(char *filename) { if (atoi(argv[4])) n->ping_sent = mstime(); if (atoi(argv[5])) n->pong_received = mstime(); - /* Set configEpoch for this node. */ - n->configEpoch = strtoull(argv[6],NULL,10); + /* Set configEpoch for this node. + * If the node is a replica, set its config epoch to 0. + * If it's a primary, load the config epoch from the configuration file. */ + n->configEpoch = (nodeIsSlave(n) && n->slaveof) ? 0 : strtoull(argv[6],NULL,10); /* Populate hash slots served by this instance. */ for (j = 8; j < argc; j++) {