1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-12-21 01:22:01 +03:00

NBO applying

- High priority interface method to apply NBO begin, separate from
  apply_toi() in order to avoid implementation to force interpreting
  ws_meta flags.
- Method to put client_state into NBO mode when applying NBO begin.
  The client_state will process in m_local mode.
- Unit tests for applying NBO
This commit is contained in:
Teemu Ollakka
2019-06-06 15:50:58 +03:00
parent 1267e29b8f
commit 85a03394cc
12 changed files with 182 additions and 9 deletions

View File

@@ -500,6 +500,17 @@ int wsrep::client_state::end_nbo_phase_one()
return ret;
}
int wsrep::client_state::enter_nbo_mode(const wsrep::ws_meta& ws_meta)
{
assert(state_ == s_exec);
assert(mode_ == m_local);
wsrep::unique_lock<wsrep::mutex> lock(mutex_);
toi_meta_ = ws_meta;
toi_mode_ = mode_;
mode(lock, m_nbo);
return 0;
}
int wsrep::client_state::begin_nbo_phase_two(const wsrep::key_array& keys)
{
assert(state_ == s_exec);