- 09 Jul, 2024 3 commits
-
-
Vladislav Vaintroub authored
Rename some threads to workaround this restrictions, e.g "rpl_parallel_thread"->"rpl_parallel", "slave_background" -> "slave_bg" etc.
-
Vladislav Vaintroub authored
Use SetThreadDescription/pthread_setname_np to give threads a name.
-
Vladislav Vaintroub authored
Use SetThreadDescription/pthread_setname_np to give threads a name.
-
- 08 Jul, 2024 3 commits
-
-
Alexander Barkov authored
-
Robin Newhouse authored
Several variables declared in mysqld.h appear to be old system variables that have been left over after deprecation. Delete them using IDE refactoring to automatically search for other uses. Most cases had no other uses in the code. slave_allow_batching had a test that was effectively unused, as the result was only -ERROR HY000: Unknown system variable 'slave_allow_batching' so that was deleted as well. Build and test still works without issue as expected. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services.
-
Alexander Barkov authored
-
- 06 Jul, 2024 2 commits
- 02 Jul, 2024 1 commit
-
-
Monty authored
Storage engines generally expects that my_errno is set in case of errors
-
- 28 Jun, 2024 3 commits
-
-
Monty authored
Affects: MDEV-34150 Assertion failure in Diagnostics_area::set_error_status upon binary logging hitting tmp space limit MDEV-9101 Limit size of created disk temporary files and tables This bug was caused by moving flushing of the in-memory-row-events from close_thread_tables() to binlog_commit() in MDEV-34150. This was needed to be able to handle the case where binlog writes could fail. Galera have two case where the change caused problems: - Row events in commit_one_phase_2() was not done in the case the standard binary log was not enabled but Galera was using the binary log internally. - Galera disabled the call to binlog_commit_flush_stmt_cache() for not ending transactions. Fixed by adding code that flushes the in-memory-row-events to the binary log (write, but now sync) in the two above cases if Galera is enabled.
-
Monty authored
-
Nikita Malyavin authored
realloc can't be done for mysql->passwd. There's also no pretty way to pass the ext-salt into hash_password, so let's use thread_local instead. For GCC < 4.9 (SLES 12, CentOS 7), which don't support _Thread_local, pk will be recalculated instead
-
- 21 Jun, 2024 1 commit
-
-
Vladislav Vaintroub authored
Apart from better performance when accessing thread local variables, we'll get rid of things that depend on initialization/cleanup of pthread_key_t variables. Where appropriate, use compiler-dependent pre-C++11 thread-local equivalents, where it makes sense, to avoid initialization check overhead that non-static thread_local can suffer from.
-
- 20 Jun, 2024 2 commits
-
-
Andrew Hutchings authored
Make it clear that refactoring code goes into the latest version.
-
Daniel Black authored
Since MDEV-25829 Change default Unicode collation to uca1400_ai_ci there is no need to set character-set-collations explicitly as its the default. Further mode the change in defaults affects all character sets that support the uca1400_ai_ci collation.
-
- 18 Jun, 2024 1 commit
-
-
Andre Alves authored
-
- 17 Jun, 2024 5 commits
-
-
Alexander Barkov authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 16 Jun, 2024 2 commits
-
-
Monty authored
This avoids a lot of SETVAL() results when applying a mysqldump with sequences.
-
Monty authored
To make this possible, it was also necessary to enhance the mariadb client with the option --print-query-on-error. This option can also be very useful when running a batch of queries through the mariadb client and one wants to find out where things goes wrong. TODO: It would be good to enhance mariadb_upgrade to not call the mariadb client for executing queries but instead do this internally. This would have made this patch much easier! Reviewed by: Sergei Golubchik <serg@mariadb.com>
-
- 14 Jun, 2024 2 commits
-
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
- During recovery, InnoDB may fail to shrink the undo tablespaces when there are no pages to recover while applying the redo log. This issue exists only when innodb_undo_truncate is enabled. trx_lists_init_at_db_start() could've applied the redo logs for undo tablespace page0.
-
- 13 Jun, 2024 6 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This fixes up the merge commit 829cb1a4
-
Marko Mäkelä authored
-
Oleksandr Byelkin authored
-
Monty authored
-
Marko Mäkelä authored
-
- 12 Jun, 2024 3 commits
-
-
Thirunarayanan Balathandayuthapani authored
- InnoDB ignores the error while traversing the used extents during shrinking process. Made changes in fsp_traverse_extents() to handle error condition correctly
-
Brandon Nesterenko authored
On an UBSAN clang-15 build, if running with UBSAN option halt_on_error=1 (the issue doesn't show up without it), MTR fails during mysqld --bootstrap with UBSAN error: call to function io_callback(tpool::aiocb*) through pointer to incorrect function type 'void (*)(void *)' This patch corrects the parameter type of io_callback to match its expected type defined by callback_func, i.e. (void*). Reviewed By: ============ <TODO>
-
Marko Mäkelä authored
-
- 11 Jun, 2024 5 commits
-
-
Thirunarayanan Balathandayuthapani authored
Problem: ======= During recovery, InnoDB fails to apply the redo log for compressed tablespace. The reason is that InnoDB assumes that pages has been freed while applying the redo log for it. During multiple scan of redo logs, InnoDB stores the freed page information when it have sufficient buffer pool pages. Once it ran out of memory, InnoDB doesn't store freed page information. But InnoDB assigns the freed page ranges to tablespace in recv_init_crash_recovery_spaces() even though InnoDB doesn't have complete freed range information. While applying the redo log, InnoDB wrongly assumes that page has been freed and it could lead to corruption of tablespace. This issue is caused by commit 941af1fa (MDEV-31803) and commit 2f9e2647 (MDEV-29911). Solution: ======== During recovery, set recovery size and freed page information for all tablespace irrespective of memory.
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
The bug can happens on macOS, if server closes the socket without sending error packet to client. Closing the socket on server side is legitimate, and happen e.g when write timeout occurs, perhaps also other situations. However mysqltest is not prepared to handle mysql_errno 0, and erroneously thinks connection was successfully established. The fix/workaround in mysqltest is to treat client failure with mysql_errno 0 the same as CR_SERVER_LOST (generic client-side communication error) The real fix in client library would ensure that mysql_errno is set on errors.
-
Alexey Yurchenko authored
Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
-
Julius Goryavsky authored
-
- 10 Jun, 2024 1 commit
-
-
Yuchen Pei authored
Otherwise it may result in nonsensical values like 190 for a boolean.
-