Cluster: clear the FAIL status for masters without slots.

Masters without slots don't participate to the cluster but just do
redirections, no need to take them in FAIL state if they are back
reachable.
This commit is contained in:
antirez 2014-02-10 17:18:16 +01:00
parent 5b2082ead3
commit 32563b4a5f

View File

@ -830,9 +830,10 @@ void clearNodeFailureIfNeeded(clusterNode *node) {
/* For slaves we always clear the FAIL flag if we can contact the
* node again. */
if (nodeIsSlave(node)) {
if (nodeIsSlave(node) || node->numslots == 0) {
redisLog(REDIS_NOTICE,
"Clear FAIL state for node %.40s: slave is reachable again.",
"Clear FAIL state for node %.40s: %s is reachable again.",
nodeIsSlave(node) ? "slave" : "master without slots",
node->name);
node->flags &= ~REDIS_NODE_FAIL;
clusterDoBeforeSleep(CLUSTER_TODO_UPDATE_STATE|CLUSTER_TODO_SAVE_CONFIG);