fix(election-iomgr-refactor): config replication and RDHUP failover chain
- cluster.c: fix upgradeConfig handler (standbys apply, not primaries) - cluster.c: fix raw_pkt_copy opcode peek (read scalar before capn_free) - config_repl.h: enable CONF_ENABLE_UPGRADE_CONFIG=1 - config_repl.c: use client_ssl_ctx for outgoing config fetch connections - config_repl.c: after config fetch, run cluster_init_phase2 + find_primary - join.c: push config to newly-joined standbys on OPCode_join - myapp.c: schedule fetch_config_from_primary after skipping own election - ha.c: arm heartbeat timeout watchdog after find_and_connect_to_primary
This commit is contained in:
parent
2f5a738b36
commit
fd93997f78
6 changed files with 70 additions and 10 deletions
|
|
@ -5,6 +5,7 @@
|
|||
#include <unistd.h>
|
||||
|
||||
#include "cluster.h"
|
||||
#include "config_repl.h"
|
||||
#include "ha.h"
|
||||
#include "xce/cluster_def.h"
|
||||
#include "xce/errnox.h"
|
||||
|
|
@ -163,6 +164,11 @@ static int handle_controller_join(cluster_t* c, endpoint_t* ep,
|
|||
INFO("controller %s joined — %d standby(s) tracked",
|
||||
request->from ? request->from->name : "?",
|
||||
c->ha.standby_endpoints->count);
|
||||
|
||||
/* Immediately push current config to the newly-joined standby so it
|
||||
* doesn't have to wait for the next scheduled push. */
|
||||
if (ha_is_primary(&c->ha))
|
||||
push_config_to_standbys(c, NULL, 0, NULL, 0);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue