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

Provider write set handle and meta data for high priority commit

The write set handle and meta data are needed for SR transactions
where the commit context is not known when the transaction starts.
The passed handle and meta data can be set through client_state
prepare_for_ordering() call before performing commit.
This commit is contained in:
Teemu Ollakka
2018-07-09 13:02:13 +03:00
parent 8a1e76bcec
commit 6aa6b6f50a
9 changed files with 59 additions and 18 deletions

View File

@ -59,7 +59,7 @@ namespace wsrep
/**
* Commit a transaction.
*/
virtual int commit() = 0;
virtual int commit(const wsrep::ws_handle&, const wsrep::ws_meta&) = 0;
/**
* Roll back a transaction
@ -98,7 +98,18 @@ namespace wsrep
virtual void switch_execution_context(
wsrep::high_priority_service& orig_hps) = 0;
virtual int log_dummy_write_set(const ws_handle&, const ws_meta&) = 0;
/**
* Log a dummy write set which is either SR transaction fragment
* or roll back fragment. The implementation must release
* commit order inside the call.
*
* @params ws_handle Write set handle
* @params ws_meta Write set meta data
*
* @return Zero in case of success, non-zero on failure
*/
virtual int log_dummy_write_set(const ws_handle& ws_handle,
const ws_meta& ws_meta) = 0;
virtual bool is_replaying() const = 0;