From 133fccb03f2a9b5caff2ae1dd1537c984949392f Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 11 Mar 2014 15:19:00 +0100 Subject: [PATCH] Cluster: flag the transaction as dirty for the new redirections. --- src/redis.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/redis.c b/src/redis.c index 23bf013e..c24828c0 100644 --- a/src/redis.c +++ b/src/redis.c @@ -2018,12 +2018,14 @@ int processCommand(redisClient *c) { int hashslot; 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")); return REDIS_OK; } else { int error_code; clusterNode *n = getNodeByQuery(c,c->cmd,c->argv,c->argc,&hashslot,&error_code); if (n == NULL) { + flagTransaction(c); if (error_code == REDIS_CLUSTER_REDIR_CROSS_SLOT) { addReplySds(c,sdsnew("-CROSSSLOT Keys in request don't hash to the same slot\r\n")); } else if (error_code == REDIS_CLUSTER_REDIR_UNSTABLE) {