mirror of
https://github.com/fluencelabs/redis
synced 2025-06-22 05:21:33 +00:00
cluster import/export of hash slots implemented in the query redirection engine
This commit is contained in:
@ -1096,13 +1096,15 @@ int processCommand(redisClient *c) {
|
||||
addReplyError(c,"The cluster is down. Check with CLUSTER INFO for more information");
|
||||
return REDIS_OK;
|
||||
} else {
|
||||
clusterNode *n = getNodeByQuery(c,cmd,c->argv,c->argc,&hashslot);
|
||||
int ask;
|
||||
clusterNode *n = getNodeByQuery(c,cmd,c->argv,c->argc,&hashslot,&ask);
|
||||
if (n == NULL) {
|
||||
addReplyError(c,"Invalid cross-node request");
|
||||
addReplyError(c,"Multi keys request invalid in cluster");
|
||||
return REDIS_OK;
|
||||
} else if (n != server.cluster.myself) {
|
||||
addReplySds(c,sdscatprintf(sdsempty(),
|
||||
"-MOVED %d %s:%d\r\n",hashslot,n->ip,n->port));
|
||||
"-%s %d %s:%d\r\n", ask ? "ASK" : "MOVED",
|
||||
hashslot,n->ip,n->port));
|
||||
return REDIS_OK;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user