mirror of
https://github.com/codership/wsrep-lib.git
synced 2026-10-23 09:48:57 +03:00
2db35f8f6c2952f06b2014a05cd9f242e6f44d13
Grabbing back the lock later, after set_position has been called. This is because set_position may have to wait for correct seqno position and calls sync wait in galera side. Such wait would happen while holding the lock, which would case hanging like reported in MDEV-29512 PR for MDEV-29512 contains a mtr test for reproducing one such deadlock scenario.
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%