mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Cluster: flag the transaction as dirty for the new redirections.
This commit is contained in:
parent
429aff4ef4
commit
133fccb03f
@ -2018,12 +2018,14 @@ int processCommand(redisClient *c) {
|
|||||||
int hashslot;
|
int hashslot;
|
||||||
|
|
||||||
if (server.cluster->state != REDIS_CLUSTER_OK) {
|
if (server.cluster->state != REDIS_CLUSTER_OK) {
|
||||||
|
flagTransaction(c);
|
||||||
addReplySds(c,sdsnew("-CLUSTERDOWN The cluster is down. Use CLUSTER INFO for more information\r\n"));
|
addReplySds(c,sdsnew("-CLUSTERDOWN The cluster is down. Use CLUSTER INFO for more information\r\n"));
|
||||||
return REDIS_OK;
|
return REDIS_OK;
|
||||||
} else {
|
} else {
|
||||||
int error_code;
|
int error_code;
|
||||||
clusterNode *n = getNodeByQuery(c,c->cmd,c->argv,c->argc,&hashslot,&error_code);
|
clusterNode *n = getNodeByQuery(c,c->cmd,c->argv,c->argc,&hashslot,&error_code);
|
||||||
if (n == NULL) {
|
if (n == NULL) {
|
||||||
|
flagTransaction(c);
|
||||||
if (error_code == REDIS_CLUSTER_REDIR_CROSS_SLOT) {
|
if (error_code == REDIS_CLUSTER_REDIR_CROSS_SLOT) {
|
||||||
addReplySds(c,sdsnew("-CROSSSLOT Keys in request don't hash to the same slot\r\n"));
|
addReplySds(c,sdsnew("-CROSSSLOT Keys in request don't hash to the same slot\r\n"));
|
||||||
} else if (error_code == REDIS_CLUSTER_REDIR_UNSTABLE) {
|
} else if (error_code == REDIS_CLUSTER_REDIR_UNSTABLE) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user