- 14 Jun, 2019 2 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
If the allocation of spider_table_sts_threads failed, we would DBUG_RETURN(error_num) without having initialized it earlier. Pre-initialize error_num to HA_ERR_OUT_OF_MEM and remove a lot of assignments that thus became redundant. This error was introduced in 207594af (Spider 3.3.13).
-
- 13 Jun, 2019 3 commits
-
-
Oleksandr Byelkin authored
-
Thirunarayanan Balathandayuthapani authored
Problem: ========= One of the purge thread access the corrupted page and tries to remove from LRU list. In the mean time, other purge threads are waiting for same page in buf_wait_for_read(). Assertion(buf_fix_count == 0) fails for the purge thread which tries to remove the page from LRU list. Solution: ======== - Set the page id as FIL_NULL to indicate the page is corrupted before removing the block from LRU list. Acquire hash lock for the particular page id and wait for the other threads to release buf_fix_count for the block. - Added the error check for btr_cur_open() in row_search_on_row_ref().
-
Jan Lindström authored
-
- 12 Jun, 2019 13 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
Before killing the server, ensure that the incomplete state of the transaction will be made durable and will be applied and rolled back on recovery, so that each time, roughly the same amount of work will be done. Remove DML statements after the recovery, and execute CHECK TABLE instead.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Remove the test, because it easily fails with a result difference. Analysis by Thirunarayanan Balathandayuthapani: By default, innodb_encrypt_tables=0. 1) Test case creates 100 tables in innodb_encrypt_1. 2) creates another 100 unencrypted tables (encryption=off) in innodb_encrypt_2 3) creates another 100 encrypted tables (encryption=on) in innodb_encrypt_3 4) enabling innodb_encrypt_tables=1 and checking that only 100 encrypted tables exist. (already we have 100 in dictionary) 5) opening all tables again (no idea why) 6) After that, set innodb_encrypt_tables=0 and wait for 100 tables to be decrypted (already we have 100 unencrypted tables) 7) dropping all databases Sporadic failure happens because after step 4, it could encrypt the normal table too, because innodb_encryption_threads=4. This test was added in MDEV-9931, which was about InnoDB startup being slow due to all .ibd files being opened. There have been a number of later fixes to this problem. Currently the latest one is commit cad56fba, in which some tests (in particular the test innodb.alter_kill) could fail if all InnoDB .ibd files are read during startup. That could make this test redundant. Let us remove the test, because it is big, slow, unreliable, and does not seem to reliably catch the problem that all files are being read on InnoDB startup.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
GCC 9.1.1 noticed that sd_notifyf() was always being invoked with str=NULL argument for "%s". This code was added in commit 2e814d47 but not mentioned in the commit comment. The STATUS messages for systemd matter during startup and shutdown, and should not be emitted during normal operation. ib_senderrf(): Remove the potentially harmful sd_notifyf() calls.
-
sjaakola authored
innodb_locks_unsafe_for_binlog variabe removed from wsrep_info test configuration and recommendation to use this variable in README-wsrep was removed as well Also relates to issue: MDEV-19544
-
Sergey Vojtovich authored
This patch fixes 10.2 issue reported in MDEV-16467 by partial backport of c2118a08. Specifically "Remove not needed LOCK_thread_count from thd_get_error_context_description()".
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - Post-push fix to change the copyright of both xtradb and innodb file.
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - If InnoDB encounters garbage or incomplete written log block during recovery then don't throw the error. Treat it as end of the log. - This kind of incomplete or empty block can be result of killing InnoDB when writing the redo log.
-
Jan Lindström authored
-
Jan Lindström authored
Remove unneeded select to provider name. Provider can have different names and can be located on different directory on different environments.
-
- 11 Jun, 2019 3 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Igor Babaev authored
This patch complements the patch that fixes bug MDEV-18479. This patch takes care of possible overflow in JOIN::get_examined_rows().
-
- 10 Jun, 2019 1 commit
-
-
Marko Mäkelä authored
Some I/O functions and macros that are declared in os0file.h used to return a Boolean status code (nonzero on success). In MySQL 5.7, they were changed to return dberr_t instead. Alas, in MariaDB Server 10.2, some uses of functions were not adjusted to the changed return value. Until MDEV-19231, the valid values of dberr_t were always nonzero. This means that some code that was incorrectly checking for a zero return value from the functions would never detect a failure. After MDEV-19231, some tests for ALTER ONLINE TABLE would fail with cmake -DPLUGIN_PERFSCHEMA=NO. It turned out that the wrappers pfs_os_file_read_no_error_handling_int_fd_func() and pfs_os_file_write_int_fd_func() were wrongly returning bool instead of dberr_t. Also the callers of these functions were wrongly expecting bool (nonzero on success) instead of dberr_t. This mistake had been made when the addition of these functions was merged from MySQL 5.6.36 and 5.7.18 into MariaDB Server 10.2.7. This fix also reverts commit 40becbc3 which attempted to work around the problem.
-
- 09 Jun, 2019 1 commit
-
-
Igor Babaev authored
Handling of top level conjuncts in WHERE whose used_tables() contained RAND_TABLE_BIT in the function make_join_select() was incorrect. As a result if such a conjunct referred to fields non of which belonged to the last joined table it was pushed twice. (This could be seen for a test case from subselect.test whose output was changed after this patch had been applied. In 10.1 when running EXPLAIN FORMAT=JSON for the query from this test case we clearly see that one of the conjuncts is pushed twice.) This fact by itself was not good. Besides, if such a conjunct was pushed to a table that was the result of materialization of a semi-join the query could return a wrong result set. In particular we could watch it for queries with semi-join subqueries whose left parts used stored functions without "deterministic' specifier.
-
- 07 Jun, 2019 3 commits
-
-
Sergei Petrunia authored
Make it visible
-
Sergey Vojtovich authored
Those two may work incorrectly together. Namely, ASAN may produce false positives or false negatives. For details see https://github.com/google/sanitizers/wiki/AddressSanitizer#faq Make SECURITY_HARDENED disabled by default if WITH_ASAN=ON Based on contribution by Eugene Kosov.
-
- 06 Jun, 2019 5 commits
-
-
Sergei Golubchik authored
option values now have to be edited in-place, instead of replacing an option with another one that has the same name but a new value.
-
Monty authored
-
Monty authored
- --disable-plugin-load or --skip-plugin-load will now reset plugin load list. Needed for future changes to mtr tests
-
Monty authored
- multiple usage of plugin-load-add and optimizer-switch are now included in generated config files
-
Thirunarayanan Balathandayuthapani authored
Problem: ======= fil_iterate() writes imported tablespace page0 as it is to discarded tablespace. Space id wasn't even changed. While opening the tablespace, tablespace fails with space id mismatch error. Fix: ==== fil_iterate() copies the page0 with discarded space id to imported tablespace.
-
- 05 Jun, 2019 4 commits
-
-
Vladislav Vaintroub authored
messages Force LANG=C for MY_CHECK_{C,CXX}_COMPILER_FLAG
-
Zicheng Huang authored
fix MDEV-18750: failed to flashback large-size binlog file fix mysqlbinlog flashback failure caused by reading io_cache without MY_FULL_IO flag fix MDEV-18750: mysqlbinlog flashback failure on large binlog
-
Thirunarayanan Balathandayuthapani authored
- Use corrupt page id instead of whole block after releasing it from LRU list.
-
Sergei Petrunia authored
MDEV-19600: The optimizer should be able to produce rows=1 estimate for unique index with NULLable columns Modify best_access_path() to produce rows=1 estimate for null-rejecting lookups on unique NULL keys.
-
- 04 Jun, 2019 1 commit
-
-
Varun Gupta authored
MDEV-18015: Assertion `global_status_var.global_memory_used == 0' failed when using UDF , window functions and views Adding destructor for Group_bound_tracker to free Cached_item_str. The Cached_item for window functions are allocated on THD:mem_root but the Cached_item_str has value of type string which is allocated on the heap, so we need to call free() for it
-
- 03 Jun, 2019 4 commits
-
-
Sergei Golubchik authored
-
Monty authored
os_file_write_func() and os_file_read_no_error_handling_func() returned different result values depending on if UNIV_PFS_IO was defined or not. Other things: - Added some comments about return values for some functions
-
Monty authored
-
Monty authored
Wrong compiler warning from GCC: ‘snprintf’ output 2 or more bytes (assuming 4001) into a destination of size 4000
-