1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2025-07-28 20:02:00 +03:00
sjaakola 754872e2c4 recording GTID checkpoint before leaving commit monitor
This fix relates to github bug #607, where wrong wsrep XID store order
caused assert in innodb wsrep checkpointing.
Wrong store order happened after certification failure, where the failing
transaction rushed to record wsrep XID bebfore the offending applier
transaction. This race condition was possible because the applier released
first commit monitor and after that recorded wsrep XID as innodb checkpoint.

The fix for this issue forces all wsrep GTID checkpointing to happen
inside commit monitor. Hence, a fix for this wsrep-lib routine was needed,
to align with the checkpoinnting logic, and record checkpoint just before
leaving commit monitor.
2020-04-07 10:34:08 +03:00
2020-01-15 11:49:24 +02:00
2018-06-18 18:55:38 +03:00
2019-10-18 09:36:18 +02:00
2019-01-28 09:52:05 +02:00

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)
Description
No description provided
Readme GPL-2.0 2 MiB
Languages
C++ 96.9%
CMake 2.6%
Shell 0.5%