* Removed WITH_WSREP_SR_SPEEDUP_REPLAY and DEBUG_SR_SPEEDUP_REPLAY
* Added "--wsrep_SR_store=undolog" for enabling SR speedup
* Modified MTR tests "galera_sr.GCF-572" and
"galera_sr.galera_sr_cc_master"
* Improved the code that removes unneeded fragments from
binlog_fragment_cache.
Now all galera_sr tests succeed when SR speedup is disabled
and most galera_sr MTR tests succeed when SR speedup up is enabled.
The failing tests are listed in "skipped_tests" file.
The following MTR test suite run succeeds:
(cd mysql-test; ./mysql-test-run.pl --mysqld="--wsrep_SR_store=undolog"
--suite=galera_sr --skip-test-list=../skipped_tests --force)
- 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
* Add method `restore_prepared_transaction` to `client_state` class
which restores a transaction state from storage given its xid.
* Add method `commit_or_rollback_by_xid` to terminate prepared XA
transactions by xid.
* Make sure that transactions in prepared state are not rolled back
when their master fails/partitions away.
- populate and pass real error description buffer to provider in case
of applying error
- return 0 from server_state::on_apply() if error voting confirmed
consistency
- remove fragments and rollback after fragment applying failure
- always release streaming applier on commit or rollback
* Enable codepath to BF abort high priority SR applier
* Pass ws_handle, ws_meta to high priority service rollback
call to allow total ordering of rollback process
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.