Commit f7d6ad43 authored by antirez's avatar antirez
Browse files

Cluster: fix slave data age computation when master is still connected.

parent 2c3301b9
...@@ -1607,11 +1607,18 @@ void clusterSendFailoverAuthIfNeeded(clusterNode *node, clusterMsg *request) { ...@@ -1607,11 +1607,18 @@ void clusterSendFailoverAuthIfNeeded(clusterNode *node, clusterMsg *request) {
* 3) Perform the failover informing all the other nodes. * 3) Perform the failover informing all the other nodes.
*/ */
void clusterHandleSlaveFailover(void) { void clusterHandleSlaveFailover(void) {
time_t data_age = server.unixtime - server.repl_down_since; time_t data_age;
mstime_t auth_age = mstime() - server.cluster->failover_auth_time; mstime_t auth_age = mstime() - server.cluster->failover_auth_time;
int needed_quorum = (server.cluster->size / 2) + 1; int needed_quorum = (server.cluster->size / 2) + 1;
int j; int j;
/* Set data_age to the number of seconds we are disconnected from the master. */
if (server.repl_state == REDIS_REPL_CONNECTED) {
data_age = server.unixtime - server.master->lastinteraction;
} else {
data_age = server.unixtime - server.repl_down_since;
}
/* Pre conditions to run the function: /* Pre conditions to run the function:
* 1) We are a slave. * 1) We are a slave.
* 2) Our master is flagged as FAIL. * 2) Our master is flagged as FAIL.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment