mirror of
https://github.com/redis/redis.git
synced 2026-06-09 08:52:22 -04:00
fix sentinelVoteLeader
This commit is contained in:
parent
2ac7b5a8b4
commit
040506d3bc
1 changed files with 7 additions and 2 deletions
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Reference in a new issue