There are two mutually dependent issues with wsrep::server_state FSM transitions:
- it prematurely switches to
s_synced on donor when SST start fails:
https://github.com/codership/wsrep-lib/blob/3f79d4390ce4021da178b458633b430492fd3bf1/src/server_state.cpp#L672
- it arbitrarily switches to
s_joined, since there is no dedicated JOINED callback/event in the API:
https://github.com/codership/wsrep-lib/blob/3f79d4390ce4021da178b458633b430492fd3bf1/src/server_state.cpp#L722
However this all can be resolved if we consider that s_joined state is actually reached when the last committed seqno becomes greater or equal to connected seqno.
There are two mutually dependent issues with
wsrep::server_stateFSM transitions:s_syncedon donor when SST start fails:https://github.com/codership/wsrep-lib/blob/3f79d4390ce4021da178b458633b430492fd3bf1/src/server_state.cpp#L672
s_joined, since there is no dedicatedJOINEDcallback/event in the API:https://github.com/codership/wsrep-lib/blob/3f79d4390ce4021da178b458633b430492fd3bf1/src/server_state.cpp#L722
However this all can be resolved if we consider that
s_joinedstate is actually reached when the last committed seqno becomes greater or equal to connected seqno.