MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sentinelFailoverStateMachine

Function sentinelFailoverStateMachine

app/redis-6.2.6/src/sentinel.c:4959–4981  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4957}
4958
4959void sentinelFailoverStateMachine(sentinelRedisInstance *ri) {
4960 serverAssert(ri->flags & SRI_MASTER);
4961
4962 if (!(ri->flags & SRI_FAILOVER_IN_PROGRESS)) return;
4963
4964 switch(ri->failover_state) {
4965 case SENTINEL_FAILOVER_STATE_WAIT_START:
4966 sentinelFailoverWaitStart(ri);
4967 break;
4968 case SENTINEL_FAILOVER_STATE_SELECT_SLAVE:
4969 sentinelFailoverSelectSlave(ri);
4970 break;
4971 case SENTINEL_FAILOVER_STATE_SEND_SLAVEOF_NOONE:
4972 sentinelFailoverSendSlaveOfNoOne(ri);
4973 break;
4974 case SENTINEL_FAILOVER_STATE_WAIT_PROMOTION:
4975 sentinelFailoverWaitPromotion(ri);
4976 break;
4977 case SENTINEL_FAILOVER_STATE_RECONF_SLAVES:
4978 sentinelFailoverReconfNextSlave(ri);
4979 break;
4980 }
4981}
4982
4983/* Abort a failover in progress:
4984 *

Callers 1

Tested by

no test coverage detected