mirror of
https://github.com/codership/wsrep-lib.git
synced 2025-12-08 22:28:32 +03:00
b76e94f84aa83c0dcd16a4e2e2fd82b856ff52e3
The transaction state is set to s_ordered_commit in ordered_commit(). However, this is too late for making the transaction immune for BF aborts after commit order has been established, which happens in before_commit(). Moving the state change into before_commit() would be the right thing to do, but that would require too many fixes to existing applications which are using the lib. In order to make the transaction immune for BF abort after it has been ordered to commit, introduce additional boolean flag which is set to true at the end of before_commit() and is taken into account in bf_abort().
Introduction
Project name: wsrep-lib - Integration library for WSREP API
The purpose of this project is to implement C++ wrapper for wsrep API with additional convenience for transaction processing.
This project will abstract away most of the transaction state management required on DBMS side and will provide simple C++ interface for key set population, data set population, commit processing, write set applying etc.
Build Instructions
In order to build the library, run
cmake . make
Build Requirements
- C++ compiler (g++ 5.4 or later recommended)
- CMake version 2.8 or later
- The following Boost libraries are required if the unit tests and
the sample program is compiled
- Unit Test Framework
- Program Options
- Filesystem
- Thread
CMake Options
- WSREP_LIB_WITH_UNIT_TESTS - Compile unit tests (default ON)
- WSREP_LIB_WITH_AUTO_TEST - Run unit tests automatically as a part of compilation (default OFF)
- WSREP_LIB_WITH_DBSIM - Compile sample program (default ON)
- WSREP_LIB_WITH_ASAN - Enable address sanitizer instrumentation (default OFF)
- WSREP_LIB_WITH_TSAN - Enable thread sanitizer instrumentation (default OFF)
- WSREP_LIB_WITH_DOCUMENTATION - Generate documentation, requires Doxygen (default OFF)
- WSREP_LIB_WITH_COVERAGE - Compile with coverage instrumentation (default OFF)
- WSREP_LIB_STRICT_BUILD_FLAGS - Compile with strict build flags, currently enables -Weffc++ (default OFF)
- WSREP_LIB_MAINTAINER_MODE - Make every compiler warning to be treated as error, enables -Werror compiler flag (default OFF)
Languages
C++
96.9%
CMake
2.6%
Shell
0.5%