fix sentinelVoteLeader

This commit is contained in:
MOON_CLJ 2015-02-07 21:06:10 +08:00
parent 2ac7b5a8b4
commit 040506d3bc

View file

@ -3244,8 +3244,13 @@ char *sentinelVoteLeader(sentinelRedisInstance *master, uint64_t req_epoch, char
if (master->leader_epoch < req_epoch && sentinel.current_epoch <= req_epoch)
{
sdsfree(master->leader);
master->leader = sdsnew(req_runid);
mstime_t time_since_last_vote = mstime() - master->failover_start_time;
if (time_since_last_vote > master->failover_timeout ||
strcasecmp(req_runid,server.runid) == 0 ||
master->leader == NULL) {
sdsfree(master->leader);
master->leader = sdsnew(req_runid);
}
master->leader_epoch = sentinel.current_epoch;
sentinelFlushConfig();
sentinelEvent(REDIS_WARNING,"+vote-for-leader",master,"%s %llu",