Sentinel: advertise the promoted slave address only after successful setup.
This commit is contained in:
parent
aca005c246
commit
089cbe643f
@ -2035,8 +2035,16 @@ void sentinelCommand(redisClient *c) {
|
|||||||
} else {
|
} else {
|
||||||
sentinelAddr *addr = ri->addr;
|
sentinelAddr *addr = ri->addr;
|
||||||
|
|
||||||
if ((ri->flags & SRI_FAILOVER_IN_PROGRESS) && ri->promoted_slave)
|
/* If we are in the middle of a failover, and the slave was
|
||||||
|
* already successfully switched to master role, we can advertise
|
||||||
|
* the new address as slave in order to allow clients to talk
|
||||||
|
* with the new master ASAP. */
|
||||||
|
if ((ri->flags & SRI_FAILOVER_IN_PROGRESS) &&
|
||||||
|
ri->promoted_slave &&
|
||||||
|
ri->failover_state >= SENTINEL_FAILOVER_STATE_RECONF_SLAVES)
|
||||||
|
{
|
||||||
addr = ri->promoted_slave->addr;
|
addr = ri->promoted_slave->addr;
|
||||||
|
}
|
||||||
addReplyMultiBulkLen(c,2);
|
addReplyMultiBulkLen(c,2);
|
||||||
addReplyBulkCString(c,addr->ip);
|
addReplyBulkCString(c,addr->ip);
|
||||||
addReplyBulkLongLong(c,addr->port);
|
addReplyBulkLongLong(c,addr->port);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user