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

Fixes to local streaming replication processing.

This commit is contained in:
Teemu Ollakka
2018-07-08 15:27:49 +03:00
parent 2913aecebd
commit 7c424d8337
12 changed files with 122 additions and 75 deletions

View File

@ -307,6 +307,12 @@ namespace wsrep
fragment_unit,
size_t fragment_size);
void disable_streaming()
{
assert(state_ == s_exec && mode_ == m_local);
transaction_.streaming_context_.disable();
}
/**
* Prepare write set meta data for fragment storage ordering.
* This method should be called from storage service commit
@ -316,7 +322,6 @@ namespace wsrep
const wsrep::ws_meta& ws_meta,
bool is_commit)
{
assert(mode_ == m_high_priority);
assert(state_ == s_exec);
return transaction_.prepare_for_fragment_ordering(
ws_handle, ws_meta, is_commit);

View File

@ -35,12 +35,11 @@ namespace wsrep
/**
* Start a new transaction for storage access.
*
* @param ws_hande Write set handle
* @param ws_meta Write set meta data
* @param[out] ws_handle Write set handle for a new transaction
*
* @return Zero in case of success, non-zero on error.
*/
virtual int start_transaction() = 0;
virtual int start_transaction(const wsrep::ws_handle&) = 0;
/**
* Append fragment into stable storage.

View File

@ -46,9 +46,10 @@ namespace wsrep
fragment_size_ = 0;
}
void certified(wsrep::seqno seqno)
void certified(wsrep::seqno seqno, size_t bytes)
{
fragments_.push_back(seqno);
bytes_certified_ += bytes;
}
size_t fragments_certified() const