Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions bdb/rep.c
Original file line number Diff line number Diff line change
Expand Up @@ -3852,6 +3852,8 @@ static void rem_rep_mon(struct rep_mon *rm)
Pthread_mutex_unlock(&rep_mon_lk);
}

int gbl_abort_on_stale_master = 0;

#if defined _LINUX_SOURCE && !defined __APPLE__
static __thread pid_t process_berkdb_tid = 0;
#endif
Expand Down Expand Up @@ -4193,6 +4195,11 @@ static int process_berkdb(bdb_state_type *bdb_state, char *host, DBT *control, D
logmsg(LOGMSG_ERROR, "rep_process_message: from %s got %d "
"control->size=%d rec->size=%d\n",
host, r, control->size, rec->size);
bdb_get_rep_master(bdb_state, &master, &gen, &egen);
if (master == bdb_state->repinfo->myhost && gbl_abort_on_stale_master) {
logmsg(LOGMSG_FATAL, "Master-only message received from %s, but I am the master\n", host);
abort();
}
outrc = 0;
break;

Expand Down
1 change: 1 addition & 0 deletions db/db_tunables.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ extern int gbl_abort_during_downgrade_if_scs_dont_stop;
extern int gbl_abort_on_unset_ha_flag;
extern int gbl_abort_on_unfound_txn;
extern int gbl_abort_on_ufid_mismatch;
extern int gbl_abort_on_stale_master;
extern int gbl_write_dummy_trace;
extern int gbl_abort_on_incorrect_upgrade;
extern int gbl_poll_in_pg_free_recover;
Expand Down
3 changes: 3 additions & 0 deletions db/db_tunables.h
Original file line number Diff line number Diff line change
Expand Up @@ -1390,6 +1390,9 @@ REGISTER_TUNABLE("block_set_commit_genid_trace", "Print trace when blocking set

REGISTER_TUNABLE("abort_on_ufid_mismatch", "Abort in dbreg-open on ufid mismatch. (Default: off)", TUNABLE_BOOLEAN,
&gbl_abort_on_ufid_mismatch, 0, NULL, NULL, NULL, NULL);
REGISTER_TUNABLE("abort_on_stale_master", "Abort on DB_REP_STALEMASTER if we are the master. (Default: off)",
TUNABLE_BOOLEAN, &gbl_abort_on_stale_master, INTERNAL, NULL, NULL, NULL, NULL);

REGISTER_TUNABLE("abort_on_unset_ha_flag", "Abort in snap_uid_retry if ha is unset. (Default: off)", TUNABLE_BOOLEAN,
&gbl_abort_on_unset_ha_flag, INTERNAL, NULL, NULL, NULL, NULL);
REGISTER_TUNABLE("write_dummy_trace", "Print trace when doing a dummy write. (Default: off)", TUNABLE_BOOLEAN,
Expand Down