From 0a35f65301481a6165f34c1c3e38e2b805ba595e Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 19 Nov 2013 11:11:43 +0100 Subject: [PATCH] Sentinel: when writing config on disk, remember sentinels runid. --- src/sentinel.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/sentinel.c b/src/sentinel.c index dd2b681f..e383b58f 100644 --- a/src/sentinel.c +++ b/src/sentinel.c @@ -1320,10 +1320,11 @@ char *sentinelHandleConfiguration(char **argv, int argc) { { return "Wrong hostname or port for slave."; } - } else if (!strcasecmp(argv[0],"known-sentinel") && argc == 4) { + } else if (!strcasecmp(argv[0],"known-sentinel") && + (argc == 4 || argc == 5)) { sentinelRedisInstance *si; - /* known-sentinel */ + /* known-sentinel [runid] */ ri = sentinelGetMasterByName(argv[1]); if (!ri) return "No such master with specified name."; if ((si = createSentinelRedisInstance(NULL,SRI_SENTINEL,argv[2], @@ -1331,6 +1332,7 @@ char *sentinelHandleConfiguration(char **argv, int argc) { { return "Wrong hostname or port for sentinel."; } + if (argc == 5) si->runid = sdsnew(argv[4]); } else { return "Unrecognized sentinel configuration statement."; } @@ -1442,8 +1444,10 @@ void rewriteConfigSentinelOption(struct rewriteConfigState *state) { while((de = dictNext(di2)) != NULL) { ri = dictGetVal(de); line = sdscatprintf(sdsempty(), - "sentinel known-sentinel %s %s %d", - master->name, ri->addr->ip, ri->addr->port); + "sentinel known-sentinel %s %s %d%s%s", + master->name, ri->addr->ip, ri->addr->port, + ri->runid ? " " : "", + ri->runid ? ri->runid : ""); rewriteConfigRewriteLine(state,"sentinel",line,1); } dictReleaseIterator(di2);