feat(election-iomgr-refactor): extend ha_dispatch_gate for CTRL_PRIMARY_COMMITTING — task 3.1
This commit is contained in:
parent
543981c505
commit
e6135ea828
3 changed files with 256 additions and 0 deletions
|
|
@ -511,6 +511,26 @@ int ha_dispatch_gate(ha_state_t *ha, int opcode)
|
|||
return 0;
|
||||
return -XCE_ERR_NOT_READY;
|
||||
|
||||
case CTRL_PRIMARY_COMMITTING:
|
||||
/* Req 5.1, 5.2, 8.1: Primary won election but has not yet received
|
||||
* majority replication ack. Allow only replication-related and
|
||||
* administrative opcodes; deny job dispatch and queue management
|
||||
* with XCE_ERR_NOT_READY. */
|
||||
switch (opcode) {
|
||||
case OPCode_heartbeat:
|
||||
case OPCode_replConfig:
|
||||
case OPCode_replConfigPush:
|
||||
case OPCode_upgradeConfigAck:
|
||||
case OPCode_hello:
|
||||
case OPCode_walAck:
|
||||
case OPCode_replEntry:
|
||||
case OPCode_replAck:
|
||||
case OPCode_replCatchUpDone:
|
||||
return 0;
|
||||
default:
|
||||
return -XCE_ERR_NOT_READY;
|
||||
}
|
||||
|
||||
case CTRL_STANDBY: {
|
||||
/* Allow ops that standbys legitimately handle */
|
||||
switch (opcode) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue