mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
add a tuneable RecoveryDropAllIPs so it is possible to control after how long a node that has been stuck in recovery will wait until it will yield all public addresses.
this now defaults to 60 seconds This is useful if a split brain occurs due to network partitioning since it will make sure that the "other half" of the cluster that does not contain the recovery master will eventually release all ips and thus avoiding a duplicate ip situation for the public addresses (This used to be ctdb commit 70f21428c9eec96bcc787be191e7478ad68956dc)
This commit is contained in:
parent
ce3283f7cb
commit
38ea6708dd
@ -105,6 +105,7 @@ struct ctdb_tunable {
|
||||
uint32_t recd_ping_timeout;
|
||||
uint32_t recd_ping_failcount;
|
||||
uint32_t log_latency_ms;
|
||||
uint32_t recovery_drop_all_ips;
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -600,7 +600,7 @@ int32_t ctdb_control_set_recmode(struct ctdb_context *ctdb,
|
||||
ctdb->release_ips_ctx = talloc_new(ctdb);
|
||||
CTDB_NO_MEMORY(ctdb, ctdb->release_ips_ctx);
|
||||
|
||||
event_add_timed(ctdb->ev, ctdb->release_ips_ctx, timeval_current_ofs(35,0), ctdb_drop_all_ips_event, ctdb);
|
||||
event_add_timed(ctdb->ev, ctdb->release_ips_ctx, timeval_current_ofs(ctdb->tunable.recovery_drop_all_ips, 0), ctdb_drop_all_ips_event, ctdb);
|
||||
}
|
||||
|
||||
|
||||
|
@ -53,6 +53,7 @@ static const struct {
|
||||
{ "RecdPingTimeout", 20, offsetof(struct ctdb_tunable, recd_ping_timeout) },
|
||||
{ "RecdFailCount", 3, offsetof(struct ctdb_tunable, recd_ping_failcount) },
|
||||
{ "LogLatencyMs", 0, offsetof(struct ctdb_tunable, log_latency_ms) },
|
||||
{ "RecoveryDropAllIPs", 60, offsetof(struct ctdb_tunable, recovery_drop_all_ips) },
|
||||
};
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user