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

Fixes to streaming rollback

* Check fragment removal error code in prepare phase. It is possible
  that the transaction gets BF aborted during fragment removal.
* Mark fragment certified in certify_fragment() even if the provider
  returns cert failed error. With current wsrep-API error codes
  it may not be possible to distinquish certification failure
  and BF abort during fragment replication. This may also be a
  provider bug. As a result rollback fragment may sometimes be
  replicated when it would not be necessary.
This commit is contained in:
Teemu Ollakka
2018-07-17 14:34:24 +03:00
parent b054c7320c
commit b02200b1ef
8 changed files with 87 additions and 40 deletions

View File

@ -73,8 +73,10 @@ namespace wsrep
* Remove fragments from the storage within current transaction.
* Fragment removal will be committed once the current transaction
* commits.
*
* @return Zero in case of success, non-zero on failure.
*/
virtual void remove_fragments() = 0;
virtual int remove_fragments() = 0;
//
// Rollback