]> git.saurik.com Git - redis.git/commitdiff
Fixed two bugs in the CLUSTER SETSLOT ... NODE subcommand
authorantirez <antirez@gmail.com>
Fri, 30 Sep 2011 20:17:24 +0000 (22:17 +0200)
committerantirez <antirez@gmail.com>
Fri, 30 Sep 2011 20:17:24 +0000 (22:17 +0200)
src/cluster.c

index e876baebef0f627fc5e617dafc499dcbdf0c5713..603a9557faca9c6ff31381df94733b08211e948e 100644 (file)
@@ -1276,7 +1276,7 @@ void clusterCommand(redisClient *c) {
             /* CLUSTER SETSLOT <SLOT> STABLE */
             server.cluster.importing_slots_from[slot] = NULL;
             server.cluster.migrating_slots_to[slot] = NULL;
-        } else if (!strcasecmp(c->argv[3]->ptr,"node") && c->argc == 4) {
+        } else if (!strcasecmp(c->argv[3]->ptr,"node") && c->argc == 5) {
             /* CLUSTER SETSLOT <SLOT> NODE <NODE ID> */
             clusterNode *n = clusterLookupNode(c->argv[4]->ptr);
 
@@ -1293,7 +1293,7 @@ void clusterCommand(redisClient *c) {
                 keys = zmalloc(sizeof(robj*)*1);
                 numkeys = GetKeysInSlot(slot, keys, 1);
                 zfree(keys);
-                if (numkeys == 0) {
+                if (numkeys != 0) {
                     addReplyErrorFormat(c, "Can't assign hashslot %d to a different node while I still hold keys for this hash slot.", slot);
                     return;
                 }