1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00

After applying call, BF abort fixes

* Added after applying call for high priority threads in order to
  avoid client mode complexity in after_statement() call and
  make high prio transaction cleanup possible
* Mask connection failed error with deadlock error if provider
  returns connection failed and the transaction was BF aborted
This commit is contained in:
Teemu Ollakka
2018-07-04 14:28:54 +03:00
parent 4d59ade77b
commit a7f8728c12
3 changed files with 42 additions and 4 deletions

View File

@ -113,8 +113,14 @@ namespace wsrep
int after_statement();
void after_applying();
bool bf_abort(wsrep::unique_lock<wsrep::mutex>& lock,
wsrep::seqno bf_seqno);
bool bf_aborted() const
{
return (bf_abort_client_state_ != 0);
}
int flags() const
{
@ -145,6 +151,7 @@ namespace wsrep
enum state state_;
std::vector<enum state> state_hist_;
enum state bf_abort_state_;
enum wsrep::provider::status bf_abort_provider_status_;
int bf_abort_client_state_;
wsrep::ws_handle ws_handle_;
wsrep::ws_meta ws_meta_;