- 03 Nov, 2021 6 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 02 Nov, 2021 12 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
This is follow-up to commit 1193a793. We will set innodb_use_native_aio=OFF by default also in mariadb-backup when running on a potentially affected kernel.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Jan Lindström authored
* Fix error handling NULL-pointer reference * Add mtr-suppression on galera_ssl_upgrade
-
Jan Lindström authored
* Fix error handling NULL-pointer reference * Add mtr-suppression on galera_ssl_upgrade
-
Jan Lindström authored
* Fix error handling NULL-pointer reference * Add mtr-suppression on galera_ssl_upgrade
-
Jan Lindström authored
Use better error message when KILL fails even in case TOI fails.
-
- 01 Nov, 2021 1 commit
-
-
Jan Lindström authored
* Fix error handling NULL-pointer reference * Add mtr-suppression on galera_ssl_upgrade
-
- 31 Oct, 2021 1 commit
-
-
Oleksandr Byelkin authored
-
- 30 Oct, 2021 4 commits
-
-
Sergei Golubchik authored
fix test failures on rpm-centos73-ppc64 followup for 401ff699
-
Sergei Golubchik authored
it's https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7302 fixed in 2011 affects fmtlib: https://github.com/fmtlib/fmt/issues/1936
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 29 Oct, 2021 16 commits
-
-
Sergei Golubchik authored
-
sjaakola authored
Mutex order violation when wsrep bf thread kills a conflicting trx, the stack is wsrep_thd_LOCK() wsrep_kill_victim() lock_rec_other_has_conflicting() lock_clust_rec_read_check_and_lock() row_search_mvcc() ha_innobase::index_read() ha_innobase::rnd_pos() handler::ha_rnd_pos() handler::rnd_pos_by_record() handler::ha_rnd_pos_by_record() Rows_log_event::find_row() Update_rows_log_event::do_exec_row() Rows_log_event::do_apply_event() Log_event::apply_event() wsrep_apply_events() and mutexes are taken in the order lock_sys->mutex -> victim_trx->mutex -> victim_thread->LOCK_thd_data When a normal KILL statement is executed, the stack is innobase_kill_query() kill_handlerton() plugin_foreach_with_mask() ha_kill_query() THD::awake() kill_one_thread() and mutexes are victim_thread->LOCK_thd_data -> lock_sys->mutex -> victim_trx->mutex This patch is the plan D variant for fixing potetial mutex locking order exercised by BF aborting and KILL command execution. In this approach, KILL command is replicated as TOI operation. This guarantees total isolation for the KILL command execution in the first node: there is no concurrent replication applying and no concurrent DDL executing. Therefore there is no risk of BF aborting to happen in parallel with KILL command execution either. Potential mutex deadlocks between the different mutex access paths with KILL command execution and BF aborting cannot therefore happen. TOI replication is used, in this approach, purely as means to provide isolated KILL command execution in the first node. KILL command should not (and must not) be applied in secondary nodes. In this patch, we make this sure by skipping KILL execution in secondary nodes, in applying phase, where we bail out if applier thread is trying to execute KILL command. This is effective, but skipping the applying of KILL command could happen much earlier as well. This also fixed unprotected calls to wsrep_thd_abort that will use wsrep_abort_transaction. This is fixed by holding THD::LOCK_thd_data while we abort transaction. Reviewed-by:
Jan Lindström <jan.lindstrom@mariadb.com>
-
Jan Lindström authored
Revert "MDEV-23328 Server hang due to Galera lock conflict resolution" This reverts commit eac8341d.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Alexander Barkov authored
add a test case
-
Alexander Barkov authored
-
Alexander Barkov authored
MDEV-26742 Assertion `field->type_handler() == this' failed in FixedBinTypeBundle<NATIVE_LEN, MAX_CHAR_LEN>::Type_handler_fbt::stored_field_cmp_to_item The bug was fixed in 10.5 using INET6 specific tests. This bugs adds only UUID specific tests (no code changes).
-
Alexander Barkov authored
UUID values llllllll-mmmm-Vhhh-vsss-nnnnnnnnnnnn are now stored as nnnnnnnnnnnn-vsss-Vhhh-mmmm-llllllll inside the record: - the groups (segments separated by dash) are reordered right-to-left. - the bytes inside the groups are not reordered (stored as before, in big-endian format). This provides a better sorting order: the earlier UUID was generated, the higher it appears in the ORDER BY output. Also, this change enables a good key prefix compression, because the constant part is now in the beginning, while the non-constant part (the timestamp) is in the end.
-
Alexander Barkov authored
- Adding a new template FixedBinTypeStorage. - Restoring classes UUID and Inet6 as primitive "storage classes" for their data types. They derive from FixedBinTypeStorage. These storage classes have very few server dependencies so they can later be easily reused in smart engines, e.g. ColumnStore. - Changing the FixedBinTypeBundle parameter from <size_t NATIVE_LEN, size_t MAX_CHAR_LEN> to <class FbtImpl> and fixing UUID and INET6 bundles to get their storage classes as a parameter.
-
Sergei Golubchik authored
-
Alexander Barkov authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
factor out the the common code for all plugin types that have a fixed-length native binary representation and a possibly variable-length string representation.
-
Marko Mäkelä authored
row_undo_mod_clust_low(): If we are in recovery and rolling back a DELETE operation on the SYS_INDEXES table, and the SYS_INDEXES.NAME starts with the magic byte 0xff that identifies uncommitted ADD INDEX stubs, we must not try to evict the table definition because such index stubs would be skipped by dict_load_indexes() anyway.
-
Marko Mäkelä authored
-