diff --git a/src/debug.c b/src/debug.c index 5b08475a5..9e084f9d7 100644 --- a/src/debug.c +++ b/src/debug.c @@ -329,6 +329,8 @@ void debugCommand(client *c) { "structsize -- Return the size of different Redis core C structures."); blen++; addReplyStatus(c, "htstats -- Return hash table statistics of the specified Redis database."); + blen++; addReplyStatus(c, + "change-repl-id -- Change the replication IDs of the instance. Dangerous, should be used only for testing the replication subsystem."); setDeferredMultiBulkLength(c,blenp,blen); } else if (!strcasecmp(c->argv[1]->ptr,"segfault")) { *((char*)-1) = 'x'; @@ -570,6 +572,11 @@ void debugCommand(client *c) { stats = sdscat(stats,buf); addReplyBulkSds(c,stats); + } else if (!strcasecmp(c->argv[1]->ptr,"change-repl-id") && c->argc == 2) { + serverLog(LL_WARNING,"Changing replication IDs after receiving DEBUG change-repl-id"); + changeReplicationId(); + clearReplicationId2(); + addReply(c,shared.ok); } else { addReplyErrorFormat(c, "Unknown DEBUG subcommand or wrong number of arguments for '%s'", (char*)c->argv[1]->ptr);