1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

speed startup: add --sloppy-start.

The extra recovery interval wait was introduced in 821333afb458 but no
explanation was provided in that message.  Nonetheless, if starting
the entire cluster for the first time, it should be safe to skip this.

We use the commandline arg --sloppy-start which should discourage
people from using it outside testing.

Seconds between ctdbd first log message and node healthy:
BEFORE:	16.10
AFTER: 4.03

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>


(This used to be ctdb commit 509e2e89ae233a0e91998d95267bf62f296a73cd)
This commit is contained in:
Rusty Russell 2010-06-22 22:52:34 +09:30
parent ed31caffab
commit 8946028a07
3 changed files with 4 additions and 1 deletions

View File

@ -1299,6 +1299,7 @@ int32_t ctdb_control_recd_ping(struct ctdb_context *ctdb);
int32_t ctdb_control_set_recmaster(struct ctdb_context *ctdb, uint32_t opcode, TDB_DATA indata); int32_t ctdb_control_set_recmaster(struct ctdb_context *ctdb, uint32_t opcode, TDB_DATA indata);
extern int script_log_level; extern int script_log_level;
extern bool fast_start;
int32_t ctdb_control_get_event_script_status(struct ctdb_context *ctdb, int32_t ctdb_control_get_event_script_status(struct ctdb_context *ctdb,
uint32_t call_type, uint32_t call_type,

View File

@ -245,7 +245,7 @@ static void ctdb_wait_until_recovered(struct event_context *ev, struct timed_eve
} }
if (timeval_elapsed(&ctdb->last_recovery_finished) < (ctdb->tunable.rerecovery_timeout + 3)) { if (!fast_start && timeval_elapsed(&ctdb->last_recovery_finished) < (ctdb->tunable.rerecovery_timeout + 3)) {
ctdb->db_persistent_startup_generation = INVALID_GENERATION; ctdb->db_persistent_startup_generation = INVALID_GENERATION;
DEBUG(DEBUG_NOTICE,(__location__ " wait for pending recoveries to end. Wait one more second.\n")); DEBUG(DEBUG_NOTICE,(__location__ " wait for pending recoveries to end. Wait one more second.\n"));

View File

@ -64,6 +64,7 @@ static struct {
}; };
int script_log_level; int script_log_level;
bool fast_start;
/* /*
called by the transport layer when a packet comes in called by the transport layer when a packet comes in
@ -144,6 +145,7 @@ int main(int argc, const char *argv[])
&options.max_persistent_check_errors, 0, &options.max_persistent_check_errors, 0,
"max allowed persistent check errors (default 0)", NULL }, "max allowed persistent check errors (default 0)", NULL },
{ "log-ringbuf-size", 0, POPT_ARG_INT, &log_ringbuf_size, DEBUG_ERR, "Number of log messages we can store in the memory ringbuffer", NULL }, { "log-ringbuf-size", 0, POPT_ARG_INT, &log_ringbuf_size, DEBUG_ERR, "Number of log messages we can store in the memory ringbuffer", NULL },
{ "sloppy-start", 0, POPT_ARG_NONE, &fast_start, 0, "Do not perform full recovery on start", NULL },
POPT_TABLEEND POPT_TABLEEND
}; };
int opt, ret; int opt, ret;