From 66f2517feb78574cf0decb5669beb03245a1d72d Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 2 May 2011 19:04:33 +0200 Subject: [PATCH] render migrating and importing slots in cluster nodes info --- src/cluster.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/cluster.c b/src/cluster.c index b2af3761..9957d487 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -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;