summaryrefslogtreecommitdiff
path: root/wsrep-lib
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-21229 Update wsrep-lib to deal with libstdc++ vector assertion (#1423)Teemu Ollakka2019-12-091-0/+0
| | | | | | The assertion was caused by use of operator[] for an empty vector. The wsrep-lib update changes vector operations which access the underlying data array to use data() method which is valid for empty vectors.
* MDEV-17099 Preliminary changes for Galera XA support (#1404)Daniele Sciascia2019-10-301-0/+0
| | | | | Redo changes reverted in commit 8f46e3833c7acb3ec3e4c7b389ae8cdd98eff1ce, this time without build issues in wsrep-lib.
* Revert MDEV-17099 Preliminary changes for Galera XA support (#1401)Marko Mäkelä2019-10-281-0/+0
| | | | | This reverts commit 2b5f4b3ed68585b310b7ebede474928ff90d9aa2 due to build failures.
* MDEV-17099 Preliminary changes for Galera XA support (#1401)Daniele Sciascia2019-10-241-0/+0
| | | Update wsrep-lib, and adapt to wsrep-lib interface changes.
* MDEV-19826 10.4 seems to crash with "pool-of-threads" (#1370)Teemu Ollakka2019-08-301-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MariaDB 10.4 was crashing when thread-handling was set to pool-of-threads and wsrep was enabled. There were two apparent reasons for the crash: - Connection handling in threadpool_common.cc was missing calls to control wsrep client state. - Thread specific storage which contains thread variables (THR_KEY_mysys) was not handled appropriately by wsrep patch when pool-of-threads was configured. This patch addresses the above issues in the following way: - Wsrep client state open/close was moved in thd_prepare_connection() and end_connection() to have common handling for one-thread-per-connection and pool-of-threads. - Thread local storage handling in wsrep patch was reworked by introducing set of wsrep_xxx_threadvars() calls which replace calls to THD store_globals()/reset_globals() and deal with thread handling specifics internally. Wsrep-lib was updated to version which relaxes internal concurrency related sanity checks. Rollback code from wsrep_rollback_process() was extracted to separate calls for better readability. Post rollback thread was removed as it was completely unused.
* - wsrep-lib update (SR cleanups and voting support) (#1359)Alexey Yurchenko2019-07-221-0/+0
| | | - TOI error ignoring fix (wsrep_ignore_apply_errors)
* Wsrep crash caused by COM_CHANGE_USER, COM_RESET_CONNECTION (#1358)Teemu Ollakka2019-07-151-0/+0
| | | | | | | | | | | | COM_CHANGE_USER and COM_RESET_CONNECTION commands cause THD::cleanup() to be called in the middle of command handling. This causes wsrep client_state sanity checks to fail. As a fix, temporarily close wsrep client_state before THD::change_user() is called when handling COM_CHANGE_USER and COM_RESET_CONNECTION, and restore the state after THD::change_user() returns. This commit also updates wsrep-lib to version which removes exception usage in wsrep client_state sanity checks.
* Fixed wsrep replaying for stored procedures (#1256)mariadb-10.4.4Teemu Ollakka2019-04-061-0/+0
| | | | | | | | | | | | | - Changed replaying to always allocate a separate THD object for applying log events. This is to avoid tampering original THD state during replay process. - Return success from sp_instr_stmt::exec_core() if replaying succeeds. - Do not push warnings/errors into diagnostics area if the transaction must be replayed. This is to avoid reporting transient errors to the client. Added two tests galera_sp_bf_abort, galera_sp_insert_parallel. Wsrep-lib position updated.
* Merge pull request #1222 from codership/10.4-clear-sr-bugfixLeandro Pacheco2019-03-111-0/+0
| | | MTR tests for clearing orphaned SR transactions in Galera
* MDEV-18631 Fix streaming replication with wsrep_gtid_mode=ONTeemu Ollakka2019-03-041-0/+0
| | | | | | | | | | | | | With wsrep_gtid_mode=ON, the appropriate commit hooks were not called in all cases for applied streaming transactions. As a fix, removed all special handling of commit order critical section from Wsrep_high_priority_service and Wsrep_storage_service. Now commit order critical section is always entered in ha_commit_trans(). Check for wsrep_run_commit_hook is now done in handler.cc, log.cc. This makes it explicit that the transaction is an active wsrep transaction which must go through commit hooks.
* Simplified Wsrep_client_service::interrupted()Teemu Ollakka2019-02-251-0/+0
| | | | | | | | Wsrep-lib is now guaranteed to hold the underlying mutex which is wrapped in lock object passed to Wsrep_client_service interrupted() call. The library part will now take care of checking the wsrep::transaction specific state, so it is enough to check the thd->killed state for the result.
* Fixes to streaming replication BF abortsTeemu Ollakka2019-02-251-0/+0
| | | | | | | | | | | | The InnoDB DeadlockChecker::check_and_resolve() was missing a call to wsrep_handle_SR_rollback() in the case when the transaction running deadlock detection was chosen as victim. Refined wsrep_handle_SR_rollback() to skip store_globals() calls if the transaction was BF aborting itself. Made mysql-wsrep-features#165 more deterministic by waiting until the update is in progress before sending next update.
* Fixed replaying bugs found with multimaster loadTeemu Ollakka2019-02-191-0/+0
| | | | | | | | | | | | | The replayer did not signal replaying waiters. Added mysql_cond_broadcast() after replaying is over. Assertion on client error failed after replay attempt failed due to certification failure. At this point the transaction does not go through client state, so the client error cannot be overridden. Assign ER_LOCK_DEADLOCK to thd directly instead. Use timed cond wait when waiting for replayers to finish and check if the transaction has been BF aborted during the wait.
* MDEV-18585 Avoid excessive Annotate_rows_log_events in binlogTeemu Ollakka2019-02-181-0/+0
| | | | | | | | | | | | | Make sure that the Annotate_rows_log_events is written into binlog only for the first fragment of the current statement. Also avoid flusing pending rows event when calculating bytes generated by the transaction. Added and recorded a test which verifies that the binlog contains only one Annotate_rows_log_event per statement with various SR settings. Recrded mysql-wsrep-features#136 which produced different output with excession log events suppressed.
* WSREP debug log levels supportmkaruza2019-02-131-0/+0
| | | | | Global variable wsrep_debug now can be used to filter wsrep-lib messages based on debug level provided. Type of wsrep_debug is now set to be unsigned int, so tests and configuration files changed accordingly.
* Implement wsrep_load_data_splitting with streaming replicationTeemu Ollakka2019-02-121-0/+0
| | | | | | | | | If wsrep_load_data_splitting is configured, change streaming replication parameters internally to match the original behavior, i.e. replicate on every 10000 rows. After load data is over, restore original streaming replication settings. Removed redundant wsrep_tc_log_commit().
* Updated wsrep-lib to galera cache encryption implementationmkaruza2019-02-011-0/+0
|
* Updated wsrep-lib to have more permissive compiler options by defaultTeemu Ollakka2019-01-251-0/+0
| | | | | | | WSREP_LIB_MAINTAINER_MODE was introduced in wsrep-lib cmake options to enable -Werror. The maintainer mode is disabled by default in order not to fail compilation on every compiler warning. The wsrep-lib maintainer mode can be enabled via -DWSREP_LIB_MAINTAINER_MODE:BOOL=ON.
* Update wsrep-lib to have OSX compilation fixesTeemu Ollakka2019-01-231-0/+0
|
* Galera4Brave Galera Crew2019-01-231-0/+0