* 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)
* merged most of Seppo's changes by hand
* enabled the replay of SR speedup feature
* changed how binlog_cache is retrieved for SR speedup
* moved set_fragments_from_table() to
Wsrep_schema::recover_sr_transactions()
* improved handling the "wsrep_is_sr" flags
Several MTR tests still fail, for example galera_sr.GCF-900
1) Add initialization for trx->xid in InnoDB trx pool
2) Add server UUID in the XID of InnoDB SR transactions
3) Modify trx_recover_for_mysql_callback() so that recovered InnoDB SR
transactions are not made visible to MySQL as recovered XA transactions.
4) Modify how SR transactions are detected and the wsrep_is_sr flag is
set for InnoDB SR transactions.
* 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.