1
0
mirror of https://github.com/codership/wsrep-lib.git synced 2026-01-04 04:13:04 +03:00
Teemu Ollakka 5ea78de6c2 Add support for custom provider implementation
- Add a set_provider_factory() method to server_state to allow
  injecting provider factory which will be called when the
  provider is loaded.

Other related changes:
- Implement to_string() helper method for id class.
- Fix id ostream operator human readable id printing.
- Pass victim client_service as an argument to provider::bf_abort()
  to allow passing victim context to custom provider.
- Implement prev() helper method for seqno class.
- Make server_state recover_streaming_appliers_if_not_recovered()
  public. In some recovery scenarios the method must be called outside
  of server_state internal code paths.
- Add storage_service requires_globals() method. The storage service
  implementation may override this to return false if changing to
  storage service context does not require store/reset globals.
- Change view final() to also require that the view status is not
  primary for the view to be final. Also change the method name to
  is_final() to avoid confusion with C++ final identifier.
- Fixes to server state handling in disconnecting and disconnected
  states.
- Keep TOI meta data over whole TOI critical section.

Co-authored-by: Denis Protivensky <denis.protivensky@galeracluster.com>
2025-01-14 16:51:26 +02:00
2025-01-14 12:35:12 +02:00
2018-06-18 18:55:38 +03:00
2021-02-04 17:08:08 +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.2 MiB
Languages
C++ 96.9%
CMake 2.6%
Shell 0.5%