diff --git a/include/wsrep/client_state.hpp b/include/wsrep/client_state.hpp index 8c62d0b..d8449d7 100644 --- a/include/wsrep/client_state.hpp +++ b/include/wsrep/client_state.hpp @@ -902,6 +902,15 @@ namespace wsrep { return current_error_status_; } + + /** + * Return true if rollbacker is active. The caller should + * hold the mutex protecting client_state. + */ + bool is_rollbacker_active() + { + return rollbacker_active_; + } protected: /** * Client context constuctor. This is protected so that it @@ -1007,11 +1016,6 @@ namespace wsrep { rollbacker_active_ = value; } - - bool is_rollbacker_active() - { - return rollbacker_active_; - } }; static inline const char* to_c_string( diff --git a/src/transaction.cpp b/src/transaction.cpp index c864a0f..3860666 100644 --- a/src/transaction.cpp +++ b/src/transaction.cpp @@ -1073,9 +1073,7 @@ bool wsrep::transaction::bf_abort( } } - lock.unlock(); server_service_.background_rollback(client_state_); - lock.lock(); } } return ret;