Cluster: clusterUpdateState() function simplified.

Also the NEEDHELP Cluster state was removed as it will no longer be
used by Redis Cluster.
This commit is contained in:
antirez 2013-03-06 18:24:43 +01:00
parent 042ed270c8
commit 3dad8196b7
2 changed files with 5 additions and 14 deletions

View File

@ -1450,30 +1450,22 @@ int clusterDelSlot(int slot) {
* Cluster state evaluation function
* -------------------------------------------------------------------------- */
void clusterUpdateState(void) {
int ok = 1;
int j;
/* Start assuming the state is OK. We'll turn it into FAIL if there
* are the right conditions. */
server.cluster->state = REDIS_CLUSTER_OK;
/* Check if all the slots are covered. */
for (j = 0; j < REDIS_CLUSTER_SLOTS; j++) {
if (server.cluster->slots[j] == NULL ||
server.cluster->slots[j]->flags & (REDIS_NODE_FAIL))
{
ok = 0;
server.cluster->state = REDIS_CLUSTER_FAIL;
break;
}
}
/* Update cluster->state accordingly. */
if (ok) {
if (server.cluster->state == REDIS_CLUSTER_NEEDHELP) {
server.cluster->state = REDIS_CLUSTER_NEEDHELP;
} else {
server.cluster->state = REDIS_CLUSTER_OK;
}
} else {
server.cluster->state = REDIS_CLUSTER_FAIL;
}
/* Compute the cluster size, that is the number of master nodes
* serving at least a single slot. */
{

View File

@ -518,7 +518,6 @@ typedef struct redisOpArray {
#define REDIS_CLUSTER_SLOTS 16384
#define REDIS_CLUSTER_OK 0 /* Everything looks ok */
#define REDIS_CLUSTER_FAIL 1 /* The cluster can't work */
#define REDIS_CLUSTER_NEEDHELP 2 /* The cluster works, but needs some help */
#define REDIS_CLUSTER_NAMELEN 40 /* sha1 hex length */
#define REDIS_CLUSTER_PORT_INCR 10000 /* Cluster port = baseport + PORT_INCR */