1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-25 21:41:56 +03:00

* Unit test for BF abort after after_command_before_result()

* Revised logic for handling BF abort around after command operations
* Added lighweight thread class for runtime thread id checking
This commit is contained in:
Teemu Ollakka
2018-06-11 11:48:07 +03:00
parent e18c9d597f
commit 58ea925dc3
11 changed files with 165 additions and 100 deletions

26
src/test_utils.cpp Normal file
View File

@ -0,0 +1,26 @@
//
// Copyright (C) 2018 Codership Oy <info@codership.com>
//
#include "test_utils.hpp"
#include "wsrep/client_context.hpp"
#include "mock_server_context.hpp"
// Simple BF abort method to BF abort unordered transasctions
void wsrep_test::bf_abort_unordered(wsrep::client_context& cc)
{
wsrep::unique_lock<wsrep::mutex> lock(cc.mutex());
assert(cc.transaction().seqno().nil());
cc.bf_abort(lock, 1);
}
// BF abort method to abort transactions via provider
void wsrep_test::bf_abort_provider(wsrep::mock_server_context& sc,
const wsrep::transaction_context& tc,
wsrep::seqno bf_seqno)
{
wsrep::seqno victim_seqno;
sc.provider().bf_abort(bf_seqno, tc.id(), victim_seqno);
(void)victim_seqno;
}