MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / process_sync_command

Function process_sync_command

db/process_message.c:384–555  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

382}
383
384int process_sync_command(struct dbenv *dbenv, char *line, int lline, int st)
385{
386 char *tok;
387 int ltok;
388 while (1) {
389 /* EZ sync config: */
390 tok = segtok(line, lline, &st, &ltok);
391 if (ltok == 0)
392 break;
393 if (tokcmp(tok, ltok, "full") == 0) {
394 dbenv->rep_sync = REP_SYNC_FULL;
395 dbenv->log_sync = 1;
396 dbenv->log_sync_time = 0;
397 } else if (tokcmp(tok, ltok, "normal") == 0) {
398 dbenv->rep_sync = REP_SYNC_FULL;
399 dbenv->log_sync = 0;
400 dbenv->log_sync_time = 10; /*sync logs every n seconds */
401 } else if (tokcmp(tok, ltok, "source") == 0) {
402 dbenv->rep_sync = REP_SYNC_SOURCE;
403 dbenv->log_sync = 0;
404 dbenv->log_sync_time = 10;
405 } else if (tokcmp(tok, ltok, "rep_always_wait") == 0) {
406 logmsg(LOGMSG_USER, "got rep_always_wait\n");
407 dbenv->rep_always_wait = 1;
408 }
409
410 else if (tokcmp(tok, ltok, "none") == 0) {
411 dbenv->rep_sync = REP_SYNC_NONE;
412 dbenv->log_sync = 0;
413 dbenv->log_sync_time = 30;
414 } else if (tokcmp(tok, ltok, "room") == 0) {
415 dbenv->rep_sync = REP_SYNC_ROOM;
416 dbenv->log_sync = 1;
417 dbenv->log_sync_time = 180;
418 } else if (tokcmp(tok, ltok, "log-sync-time") == 0) {
419 int tm;
420 tok = segtok(line, lline, &st, &ltok);
421 tm = toknum(tok, ltok);
422 if (ltok == 0 || tm < 0) {
423 logmsg(LOGMSG_ERROR, "must specify log_sync time\n");
424 break;
425 }
426 if (tm == 0) {
427 dbenv->log_sync = 1;
428 dbenv->log_sync_time = 0;
429 } else {
430 dbenv->log_sync = 0;
431 dbenv->log_sync_time = tm;
432 }
433 } else if (tokcmp(tok, ltok, "log-delete-now") == 0) {
434 dbenv->log_delete_age = 0;
435 } else if (tokcmp(tok, ltok, "log-delete-before") == 0) {
436 dbenv->log_delete_age = comdb2_time_epoch();
437 } else if (tokcmp(tok, ltok, "log-delete-age-set") == 0) {
438 int epoch;
439 tok = segtok(line, lline, &st, &ltok);
440 epoch = toknum(tok, ltok);
441 if (ltok == 0 || epoch < 0) {

Callers 2

read_lrl_optionFunction · 0.85
process_message.cFile · 0.85

Calls 9

segtokFunction · 0.85
tokcmpFunction · 0.85
toknumFunction · 0.85
comdb2_cantimFunction · 0.85
comdb2_timerFunction · 0.85
backend_update_syncFunction · 0.85
logmsgFunction · 0.50
comdb2_time_epochFunction · 0.50

Tested by

no test coverage detected