From ff6f015b2b661d9631b329df212861e7b7a860d3 Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 17 Oct 2014 10:23:44 +0200 Subject: [PATCH] Diskless replication: don't send "\n" pings to slaves. This is useful for normal replication in order to refresh the slave when we are persisting on disk, but for diskless replication the child is already receiving data while in WAIT_BGSAVE_END state. --- src/replication.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/replication.c b/src/replication.c index 7dd4a443..fa5ed87d 100644 --- a/src/replication.c +++ b/src/replication.c @@ -1950,7 +1950,9 @@ void replicationCron(void) { redisClient *slave = ln->value; if (slave->replstate == REDIS_REPL_WAIT_BGSAVE_START || - slave->replstate == REDIS_REPL_WAIT_BGSAVE_END) { + (slave->replstate == REDIS_REPL_WAIT_BGSAVE_END && + server.rdb_child_type != REDIS_RDB_CHILD_TYPE_SOCKET)) + { if (write(slave->fd, "\n", 1) == -1) { /* Don't worry, it's just a ping. */ }