Switch case https://github.com/codership/wsrep-lib/blob/940ba9bd0e505f84b5f6470214006b83c1f88462/src/reporter.cpp#L95:
case wsrep::server_state::s_initializing:
if (s_disconnected_disconnected == state_)
return s_disconnected_initializing;
else if (s_joining_sst == state_)
return s_joining_initializing;
else if (s_joining_initializing == state_)
return s_joining_initializing; // continuation
else
{
assert(0);
return state_;
}
asserts on startup when state_ is wsrep::reporter::s_joining_initialized.
(Note that input is wsrep::server_state::state, output is wsrep::reporter::state - we translate one enum into a different enum)
so somehow the reporter state got past initialized_ -> that happens only after it gets wsrep::server_state::s_initialized, but then somehow it gets wsrep::server_state::s_initializing again...
Switch case https://github.com/codership/wsrep-lib/blob/940ba9bd0e505f84b5f6470214006b83c1f88462/src/reporter.cpp#L95:
asserts on startup when
state_iswsrep::reporter::s_joining_initialized.(Note that input is
wsrep::server_state::state, output is wsrep::reporter::state- we translate one enum into a different enum)so somehow the reporter state got past
initialized_-> that happens only after it getswsrep::server_state::s_initialized, but then somehow it getswsrep::server_state::s_initializingagain...