mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
Cluster: clusterBlacklistAddNode() key lookup fixed.
We can't lookup by node->name that's not an SDS string but a plain C array in the node structure.
This commit is contained in:
parent
b51be7b34f
commit
4e1861155f
@ -708,10 +708,14 @@ void clusterBlacklistAddNode(clusterNode *node) {
|
|||||||
sds id = sdsnewlen(node->name,REDIS_CLUSTER_NAMELEN);
|
sds id = sdsnewlen(node->name,REDIS_CLUSTER_NAMELEN);
|
||||||
|
|
||||||
clusterBlacklistCleanup();
|
clusterBlacklistCleanup();
|
||||||
if (dictAdd(server.cluster->nodes_black_list,id,NULL) == DICT_ERR)
|
if (dictAdd(server.cluster->nodes_black_list,id,NULL) == DICT_OK) {
|
||||||
sdsfree(id); /* Key was already there. */
|
/* If the key was added, duplicate the sds string representation of
|
||||||
de = dictFind(server.cluster->nodes_black_list,node->name);
|
* the key for the next lookup. We'll free it at the end. */
|
||||||
|
id = sdsdup(id);
|
||||||
|
}
|
||||||
|
de = dictFind(server.cluster->nodes_black_list,id);
|
||||||
dictSetUnsignedIntegerVal(de,time(NULL));
|
dictSetUnsignedIntegerVal(de,time(NULL));
|
||||||
|
sdsfree(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return non-zero if the specified node ID exists in the blacklist.
|
/* Return non-zero if the specified node ID exists in the blacklist.
|
||||||
|
Loading…
Reference in New Issue
Block a user