mirror of https://mirror.osredm.com/root/redis.git
Cluster: always use cluster(Add|Del)Slot to modify the cluster slots table.
This commit is contained in:
parent
786b8d6c87
commit
fdb57233e2
|
@ -46,6 +46,7 @@ sds clusterGenNodesDescription(void);
|
||||||
clusterNode *clusterLookupNode(char *name);
|
clusterNode *clusterLookupNode(char *name);
|
||||||
int clusterNodeAddSlave(clusterNode *master, clusterNode *slave);
|
int clusterNodeAddSlave(clusterNode *master, clusterNode *slave);
|
||||||
int clusterAddSlot(clusterNode *n, int slot);
|
int clusterAddSlot(clusterNode *n, int slot);
|
||||||
|
int clusterDelSlot(int slot);
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* Initialization
|
* Initialization
|
||||||
|
@ -669,7 +670,8 @@ int clusterProcessPacket(clusterLink *link) {
|
||||||
if (server.cluster->slots[j] == NULL ||
|
if (server.cluster->slots[j] == NULL ||
|
||||||
server.cluster->slots[j]->flags & REDIS_NODE_FAIL)
|
server.cluster->slots[j]->flags & REDIS_NODE_FAIL)
|
||||||
{
|
{
|
||||||
server.cluster->slots[j] = sender;
|
clusterDelSlot(j);
|
||||||
|
clusterAddSlot(sender,j);
|
||||||
update_state = update_config = 1;
|
update_state = update_config = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue