- 27 Apr, 2020 18 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
dict_stats_update_if_needed(): Replace the parameter THD* with const trx_t& so that trx_t::is_wsrep() can be invoked instead of the more expensive wsrep_on(). Replace also other occurrences of wsrep_on() with trx_t::is_wsrep().
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The function wsrep_on() was being called rather frequently in InnoDB and XtraDB. Let us cache it in trx_t and invoke trx_t::is_wsrep() instead. innobase_trx_init(): Cache trx->wsrep = wsrep_on(thd). ha_innobase::write_row(): Replace many repeated calls to current_thd, and test the cheapest condition first.
-
Sergei Golubchik authored
when opening the `user` table separately, reset `thd->open_tables` for the duration of open, otherwise auto-repair fallback-and-retry will close *all* tables (but reopen only `user`)
-
Sergei Golubchik authored
only use auth1 update (no "auth_or":[]) array, if there was no "auth_or" array in the json yet.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
support upgrades from 5.2 privilege tables
-
Sergei Golubchik authored
revert/simplify f5390eea remove galera-specific checks from mtr and the main suite
-
Sergei Golubchik authored
fix embedded innodb_plugin tests followup for 7198c6ab
-
Sergei Golubchik authored
Backport INSALL_SYMLINK cmake macro from 10.3. It'll make libmysqlclient_r.* symlinks to link to the actual shared library file, not to another symlink. As a bonus it'll fix cmake warning about deprecated LOCATION property
-
Marko Mäkelä authored
This is a backport of the applicable part of commit 93475aff and commit 2c39f69d from 10.4. Before 10.4 and Galera 4, WSREP_ON is a macro that points to a global Boolean variable, so it is not that expensive to evaluate, but we will add an unlikely() hint around it. WSREP_ON_NEW: Remove. This macro was introduced in commit c863159c when reverting WSREP_ON to its previous definition. We replace some use of WSREP_ON with WSREP(thd), like it was done in 93475aff. Note: the macro WSREP() in 10.1 is equivalent to WSREP_NNULL() in 10.4. Item_func_rand::seed_random(): Avoid invoking current_thd when WSREP is not enabled.
-
Marko Mäkelä authored
_ma_fetch_keypage(): Correct an assertion that used to always hold. Thanks to clang -Wint-in-bool-context for flagging this. double_to_datetime_with_warn(): Suppress -Wimplicit-int-float-conversion by adding a cast. LONGLONG_MAX converted to double will actually be LONGLONG_MAX+1.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Since commit 7198c6ab the ./mtr --embedded tests would fail to start innodb_plugin because of an undefined reference to the symbol wsrep_log(). Let us define a stub for that function. The embedded server is never built WITH_WSREP, but there are no separate storage engine builds for the embedded server. Hence, by default, the dynamic InnoDB storage engine plugin would be built WITH_WSREP and it would fail to load into the embedded server library due to a reference to the undefined symbol.
-
- 26 Apr, 2020 1 commit
-
-
Monty authored
MDEV-18286 Assertion `pagecache->cnt_for_resize_op == 0' failed in check_pagecache_is_cleaned_up on server shutdown The reason for the crash is that the counter-of-pinned-pages in the Aria pagecache goes wrong. This only affects debug builds, as in these we do an assert on shutdown if the counter-of-pinned-pages is not 0 (some page was left pinned). The bug was that in 2 places in the page cache, when not succeeding to pin a page and a retry was made, the counter-of-pinned-pages counter was not properly adjusted. In the given test case, BLOCK_COMMIT flushed all Aria files. If a block was flushed at the same time the insert tried to access it, the insert would retry to get the block and that would cause the counter to go wrong.
-
- 24 Apr, 2020 8 commits
-
-
Eugene Kosov authored
read TLS with my_thread_var write TLS with set_mysys_var() my_thread_var is no longer __attribute__ ((const)): this attribute is simply incorrect here. Read gcc manual for more information. sql/threadpool_generic.cc fails with that attribute.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive conditions thd && WSREP_ON before calling the function. Global_read_lock: Use WSREP_NNULL(thd) instead of wsrep_on(thd) because we not only know the definition of THD but also that the pointer is not null. wsrep_open(): Use WSREP(thd) instead of wsrep_on(thd). InnoDB: Replace thd && wsrep_on(thd) with wsrep_on(thd), now that the condition has been merged to the definition of the macro wsrep_on().
-
Marko Mäkelä authored
If the server is compiled WITH_WSREP=OFF, we should avoid evaluating conditions on a global variable that is constant. WSREP_ON_: Renamed from WSREP_ON. Defined only WITH_WSREP=ON. WSREP_ON: Defined as unlikely(WSREP_ON_). wsrep_on(): Defined as WSREP_ON && wsrep_service->wsrep_on_func(). The reason why we have wsrep_on() at all is that the macro WSREP(thd) depends on the definition of THD, and that is intentionally an opaque data type for InnoDB. So, we cannot avoid invoking wsrep_on(), but we can evaluate the less expensive condition WSREP_ON before calling the function.
-
Jan Lindström authored
Replaced WSREP_ON macro by single global variable WSREP_ON that is then updated at server statup and on wsrep_on and wsrep_provider update functions.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_vers_vc_matches_cluster(): Remove the parameter in_purge, which was always passed as in_purge=true. This parameter became constant in mysql/mysql-server@1dec14d346ac55fe72989dccb071f84b3b0d3bd6 and it always was constant in MariaDB starting from the introduction of the function in commit 2e814d47 (MariaDB 10.2.2).
-
- 23 Apr, 2020 5 commits
-
-
Marko Mäkelä authored
row_prebuilt_free(): Do not attempt to drop orphan indexes that might have been left behind by a failed ADD UNIQUE INDEX. This avoids the execution of unwanted transactions during shutdown.
-
Elena Stepanova authored
-
Monty authored
This is not crtitical as if Aria doesn't start, the server will exit at once.
-
Monty authored
The bug was that the script tried to start mysqld while there was already a running mysqld server. Fixed by killing the running one.
-
Marko Mäkelä authored
mysqld_exit(): Change the assertion failure on global_status_var.global_memory_used == 0 to fprintf, like in 0bcb65d3 It appears that in some cases, that variable may be nonzero even when LeakSanitizer (WITH_ASAN) would not report errors. This was observed in 10.4 88cf6f1c with the MDEV-22348 test case (Aria startup failure when running main.default_storage_engine).
-
- 22 Apr, 2020 7 commits
-
-
Marko Mäkelä authored
-
Kentoku SHIBA authored
Fix a test result.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Jan Lindström authored
Test do we have galera debug library with debug_sync functionality needs to be earlier.
-
Otto Kekäläinen authored
Also add a check for tmp file being empty and bail out with a clear error message in such a case, as mysqld_safe prevents normal stderr from being displayed anywhere and would fail silently on this.
-
Jan Lindström authored
MDEV-22181 : galera.galera_sst_mysqldump_with_key MTR failed: INSERT failed: 1146: Table 'test.t1' doesn't exist Add wait condition to make sure table test.t1 is replicated to node_2 before we insert to it.
-
- 21 Apr, 2020 1 commit
-
-
Vlad Lesin authored
config. The solution is to read the system variable value on startup and to fill databases_exclude_hash. xb_load_list_string() became non-static and was reformatted. The system variable value is read and processed in get_mysql_vars(), which was also reformatted.
-