]> git.saurik.com Git - redis.git/commitdiff
render migrating and importing slots in cluster nodes info
authorantirez <antirez@gmail.com>
Mon, 2 May 2011 17:04:33 +0000 (19:04 +0200)
committerantirez <antirez@gmail.com>
Mon, 2 May 2011 17:04:33 +0000 (19:04 +0200)
src/cluster.c

index b2af3761eeb92a8b70e6d74faa667a347101d64b..9957d487204f224346b57c884311a880c9f78511 100644 (file)
@@ -1086,6 +1086,21 @@ sds clusterGenNodesDescription(void) {
                 start = -1;
             }
         }
+
+        /* Just for MYSELF node we also dump info about slots that
+         * we are migrating to other instances or importing from other
+         * instances. */
+        if (node->flags & REDIS_NODE_MYSELF) {
+            for (j = 0; j < REDIS_CLUSTER_SLOTS; j++) {
+                if (server.cluster.migrating_slots_to[j]) {
+                    ci = sdscatprintf(ci," [%d->%.40s]",j,
+                        server.cluster.migrating_slots_to[j]->name);
+                } else if (server.cluster.importing_slots_from[j]) {
+                    ci = sdscatprintf(ci," [%d<-%.40s]",j,
+                        server.cluster.importing_slots_from[j]->name);
+                }
+            }
+        }
         ci = sdscatlen(ci,"\n",1);
     }
     dictReleaseIterator(di);
@@ -1206,6 +1221,7 @@ void clusterCommand(redisClient *c) {
         } else {
             addReplyError(c,"Invalid CLUSTER SETSLOT action or number of arguments");
         }
+        addReply(c,shared.ok);
     } else if (!strcasecmp(c->argv[1]->ptr,"info") && c->argc == 2) {
         char *statestr[] = {"ok","fail","needhelp"};
         int slots_assigned = 0, slots_ok = 0, slots_pfail = 0, slots_fail = 0;