Merge commit '9eea57cc311e62a49358e09af7baebce9da9053f' into unstable
Former-commit-id: ee460301fd160cf3fc82e52cf47d4a5f7503d781
This commit is contained in:
commit
6f3eda55d9
@ -31,6 +31,7 @@
|
||||
|
||||
|
||||
#include "server.h"
|
||||
#include "cluster.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
@ -2971,12 +2972,23 @@ void replicationCron(void) {
|
||||
|
||||
/* First, send PING according to ping_slave_period. */
|
||||
if ((replication_cron_loops % g_pserver->repl_ping_slave_period) == 0 &&
|
||||
listLength(g_pserver->slaves) && !clientsArePaused())
|
||||
listLength(g_pserver->slaves))
|
||||
{
|
||||
ping_argv[0] = createStringObject("PING",4);
|
||||
replicationFeedSlaves(g_pserver->slaves, g_pserver->slaveseldb,
|
||||
ping_argv, 1);
|
||||
decrRefCount(ping_argv[0]);
|
||||
/* Note that we don't send the PING if the clients are paused during
|
||||
* a Redis Cluster manual failover: the PING we send will otherwise
|
||||
* alter the replication offsets of master and slave, and will no longer
|
||||
* match the one stored into 'mf_master_offset' state. */
|
||||
int manual_failover_in_progress =
|
||||
g_pserver->cluster_enabled &&
|
||||
g_pserver->cluster->mf_end &&
|
||||
clientsArePaused();
|
||||
|
||||
if (!manual_failover_in_progress) {
|
||||
ping_argv[0] = createStringObject("PING",4);
|
||||
replicationFeedSlaves(g_pserver->slaves, g_pserver->slaveseldb,
|
||||
ping_argv, 1);
|
||||
decrRefCount(ping_argv[0]);
|
||||
}
|
||||
}
|
||||
|
||||
/* Second, send a newline to all the slaves in pre-synchronization
|
||||
|
Loading…
x
Reference in New Issue
Block a user