From f80cf7363abbd51f43d9d6f15a273fc11356f6c6 Mon Sep 17 00:00:00 2001 From: antirez Date: Mon, 2 Dec 2013 15:55:19 +0100 Subject: [PATCH] Sentinel: don't write HZ when flushing config. See issue #1419. --- src/sentinel.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/sentinel.c b/src/sentinel.c index bb4cfbfd..a936e685 100644 --- a/src/sentinel.c +++ b/src/sentinel.c @@ -1472,15 +1472,19 @@ void rewriteConfigSentinelOption(struct rewriteConfigState *state) { * On failure the function logs a warning on the Redis log. */ void sentinelFlushConfig(void) { int fd; + int saved_hz = server.hz; - if (rewriteConfig(server.configfile) == -1) { + server.hz = REDIS_DEFAULT_HZ; + if (rewriteConfig(server.configfile) != -1) { + /* Rewrite succeded, fsync it. */ + if ((fd = open(server.configfile,O_RDONLY)) != -1) { + fsync(fd); + close(fd); + } + } else { redisLog(REDIS_WARNING,"WARNING: Senitnel was not able to save the new configuration on disk!!!: %s", strerror(errno)); - return; - } - if ((fd = open(server.configfile,O_RDONLY)) != -1) { - fsync(fd); - close(fd); } + server.hz = saved_hz; return; }