summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-24125: linux large pages, linux/mman.h neededbb-10.5-danielblack-MDEV-24125-large-pagesDaniel Black2020-11-194-0/+6
| | | | | Centos/RHEL7 have the MAP_HUGE_SHIFT constant defined in linux/mman.h which needed to get included.
* MDEV-24224 Gap lock on delete in 10.5 using READ COMMITTEDbb-10.5-MDEV-24224Marko Mäkelä2020-11-185-27/+78
| | | | | | | | | | | | | | | | When MDEV-19544 (commit 1a6f470464171bd1144e4dd6f169bb4018f2e81a) simplified the initialization of the local variable set_also_gap_locks, an inadvertent change was included. Essentially, all code branches that are executed when set_also_gap_locks hold must also ensure that trx->isolation_level > TRX_ISO_READ_COMMITTED holds. This was being violated in a few code paths. It turns out that there is an even simpler fix: Remove the test of thd_is_select() completely. In that way, the first part of UPDATE or DELETE should work exactly like SELECT...FOR UPDATE. thd_is_select(): Remove.
* Merge 10.4 into 10.5Marko Mäkelä2020-11-175-1/+23
|\
| * Work around MDEV-24232: Skip perfschema.nesting if WITH_WSREP=OFFMarko Mäkelä2020-11-171-0/+2
| |
| * MDEV-24115 Fix -Wconversion in Timeval::Timeval() on Mac OS Xbb-10.4-MDEV-24115Dmitry Shulga2020-11-171-1/+7
| | | | | | | | | | | | | | The data member tv_usec of the struct timeval is declared as suseconds_t on MacOS. Size of suseconds_t is 4 bytes. On the other hand, size of ulong is 8 bytes on 64-bit MacOS, so attempt to assign a value of wider type (usec) to a value (tv_usec) of narrower type leads to error.
| * Merge 10.3 into 10.4Marko Mäkelä2020-11-171-0/+6
| |\
| | * Do not run maria.repair with --embedded as memory usage is differentMonty2020-11-161-0/+6
| | |
| * | Restore autoincrement offset in MTR test MDEV-24063Daniele Sciascia2020-11-162-0/+8
| | |
* | | MDEV-24188 fixup: Simplify the wait loopMarko Mäkelä2020-11-171-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting with commit 7cffb5f6e8a231a041152447be8980ce35d2c9b8 (MDEV-23399) the function buf_flush_page() will first acquire block->lock and only after that invoke set_io_fix(). Before that, it was possible to reach a livelock between buf_page_create() and buf_flush_page(). buf_page_create(): Directly try acquiring the exclusive page latch without checking whether the page is io-fixed or buffer-fixed. (As a matter of fact, the have_x_latch() check is not strictly necessary, because we still support recursive X-latches.) In case of a latch conflict, wait while allowing buf_page_write_complete() to acquire buf_pool.mutex and release the block->lock. An attempt to wait for exclusive block->lock while holding buf_pool.mutex would lead to a hang in the tests parts.part_supported_sql_func_innodb and stress.ddl_innodb, due to a deadlock between buf_page_write_complete() and buf_page_create(). Similarly, in case of an I/O fixed compressed-only ROW_FORMAT=COMPRESSED page, we will sleep before retrying. In both cases, we will sleep for 1ms or until a flush batch is completed.
* | | Fix suppression in MTR test galera_3nodes.inconsistency_shutdownDaniele Sciascia2020-11-172-2/+2
| | |
* | | MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade ↵Sujatha2020-11-172-10/+10
| | | | | | | | | | | | | | | | | | to 10.5, mysql_upgrade should take of that Post push fix. Update version to 10.5.8.
* | | MDEV-24125: allow compile on Linux headers < 3.8Daniel Black2020-11-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | This allows MariaDB to compile on old (limits to >2.6.32) linux kernel versions. This warns that attempts to use large pages will rely on implict kernel determination.
* | | MDEV-24125: linux large pages - Revert "Fixed centos 6 build failure"Daniel Black2020-11-171-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6cf8f05fd9deb900a78898576b85753e09feddaa. Original patch assumed that MAP_HUGETLB as consistent across achitectures which isn't the case. Defining it unconditionally broke large pages on every achitecutre where the value differed from x86_64. With the EOL for Centos/RHEL6 announced in 10.5.7, <3.8 linux kernels are no longer supported.
* | | MDEV-24124: main.drop test - mulitarch/os error messagesDaniel Black2020-11-171-1/+1
| | | | | | | | | | | | | | | | | | Account for variety of mips, hppa, solaris and other messages. Copied from rpl.rpl_drop_db test.
* | | MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade ↵Sujatha2020-11-161-1/+1
| | | | | | | | | | | | | | | | | | to 10.5, mysql_upgrade should take of that Fixing a post push test issue.
* | | MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade ↵Sujatha2020-11-1620-114/+350
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to 10.5, mysql_upgrade should take of that Add a new privilege "SLAVE MONITOR" which will grant user the permission to execute "SHOW SLAVE STATUS" and "SHOW RELAYLOG EVENTS" commands. SHOW SLAVE STATUS requires either SLAVE MONITOR/SUPER SHOW RELAYLOG EVENTS requires SLAVE MONITOR privilege.
* | | This patch puts MCS debian packaging files and part of debian/controlRoman Nozdrin2020-11-148-220/+7
| | | | | | | | | | | | into the engine directory
* | | MDEV-24098: 10.5 followupOleksandr Byelkin2020-11-142-1/+2
| | | | | | | | | | | | remove version data from the test output
* | | Merge branch '10.4' into 10.5Oleksandr Byelkin2020-11-141-1/+1
|\ \ \ | |/ /
| * | Merge branch '10.3' into 10.4Oleksandr Byelkin2020-11-141-1/+1
| |\ \ | | |/
| | * Merge branch '10.2' into 10.3Oleksandr Byelkin2020-11-141-1/+1
| | |\
| | | * Fix to make it compiling on new ubuntu.Oleksandr Byelkin2020-11-141-1/+1
| | | |
* | | | MDEV-24188: Merge 10.4 into 10.5Marko Mäkelä2020-11-136-30/+81
|\ \ \ \ | |/ / /
| * | | MDEV-24188: Merge 10.3 into 10.4Marko Mäkelä2020-11-136-47/+89
| |\ \ \ | | |/ /
| | * | MDEV-24188: Merge 10.2 into 10.3Marko Mäkelä2020-11-136-57/+96
| | |\ \ | | | |/
| | | * MDEV-24188 Hang in buf_page_create() after reusing a previously freed pageMarko Mäkelä2020-11-136-58/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix of MDEV-23456 (commit b1009ae5c16697d5eef443cc6a60a74301148c73) introduced a livelock between page flushing and a thread that is executing buf_page_create(). buf_page_create(): If the current mini-transaction is holding an exclusive latch on the page, do not attempt to acquire another one, and do not care about any I/O fix. mtr_t::have_x_latch(): Replaces mtr_t::get_fix_count(). dyn_buf_t::for_each_block(const Functor&) const: A new variant. rw_lock_own(): Add a const qualifier. Reviewed by: Thirunarayanan Balathandayuthapani
* | | | MDEV-23619: Merge 10.4 into 10.5Marko Mäkelä2020-11-135-26/+317
|\ \ \ \ | |/ / /
| * | | MDEV-23619: Merge 10.3 into 10.4Marko Mäkelä2020-11-135-26/+312
| |\ \ \ | | |/ /
| | * | MDEV-23619: Merge 10.2 into 10.3Marko Mäkelä2020-11-135-26/+312
| | |\ \ | | | |/
| | | * MDEV-23619 MariaDB crash on WITH RECURSIVE UNION ALL (CTE) queryIgor Babaev2020-11-135-25/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a premature cleanup of the unit that specified a recursive CTE used in the second operand of union the server fell into an infinite loop in the reported test case. In other cases this premature cleanup could cause other problems. The bug is the result of a not quite correct fix for MDEV-17024. The unit that specifies a recursive CTE has to be cleaned only after the cleanup of the last external reference to this CTE. It means that cleanups of the unit triggered not by the cleanup of a external reference to the CTE must be blocked. Usage of local table chains in selects to get external references to recursive CTEs was not correct either because of possible merges of some selects. Also fixed a minor bug in st_select_lex::set_explain_type() that caused typing 'RECURSIVE UNION' instead of 'UNION' in EXPLAIN output for external references to a recursive CTE.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-11-1353-472/+1627
|\ \ \ \ | |/ / /
| * | | Merge branch '10.3' into 10.4Sujatha2020-11-124-6/+7
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Sujatha2020-11-124-10/+27
| | |\ \ | | | |/
| | | * MDEV-4633: multi_source.simple test fails sporadicallySujatha2020-11-124-10/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis: ======== Writes to 'rli->log_space_total' needs to be synchronized, otherwise both SQL_THREAD and IO_THREAD can try to modify the variable simultaneously resulting in incorrect rli->log_space_total. In the current test scenario SQL_THREAD is trying to decrement 'rli->log_space_total' in 'purge_first_log' and IO_THREAD is trying to increment the 'rli->log_space_total' in 'queue_event' simultaneously. Hence test occasionally fails with result mismatch. Fix: === Convert 'rli->log_space_total' variable to atomic type.
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-11-1222-254/+234
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2020-11-1215-289/+149
| | |\ \ | | | |/
| | | * Merge mariadb-10.2.36 into 10.2Marko Mäkelä2020-11-116-15/+143
| | | |\
| | | * | bump the VERSIONDaniel Bartholomew2020-11-111-1/+1
| | | | |
| | | * | Cleanup: Remove dict_space_is_empty(), dict_space_get_id()Marko Mäkelä2020-11-112-161/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noted in commit 0b66d3f70d365bbb936aae4ca67892c17d68d241, MariaDB does not support CREATE TABLESPACE for InnoDB. Hence, some code that was added in commit fec844aca88e1c6b9c36bb0b811e92d9d023ffb9 and originally in mysql/mysql-server@c71dd213bd434c0579e454ab8880e6d3756b0fb0 is unused in MariaDB and should be removed.
| | | * | MDEV-24156 trx_undo_left() fails to prevent overflowMarko Mäkelä2020-11-111-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trx_undo_left(): Return 0 in case of an overflow, instead of returning a negative number interpreted as a large positive number. Also, add debug assertions to check that the pointer is within the page area. This should allow us to catch bugs like MDEV-24096 easier in the future.
| | | * | MDEV-24182 ibuf_merge_or_delete_for_page() contains dead codeMarko Mäkelä2020-11-114-90/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function ibuf_merge_or_delete_for_page() was always being invoked with update_ibuf_bitmap=true ever since commit cd623508dff53c210154392da6c0f65b7b6bcf4c fixed up something after MDEV-9566. Furthermore, the parameter page_size is never being passed as a null pointer, and therefore it should better be a reference to a constant object.
| | | * | MDEV-23769: MTR can abort before it prints the test result summaryAnel Husakovic2020-11-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Patch is solving generating report on warning To repeat the error run single worker: ``` ./mtr --mysqld=--lock-wait-timeout=-xx 1st 1st --force --parallel 1 ``` or `N` workers with `N+1` tests with failures and `force` ``` ./mtr --mysqld=--lock-wait-timeout=-xx 1st 1st grant5 --force --parallel 2 ``` - Patch is doing cosmetic fix of `current_test` log file which holds the old log value of test `CURRENT TEST:..` in `mark_log()` in case of `unknown option` and as such the logic which is using it's content doesn't output valid log content and doesn't generate valid `$test->{'comment'}` message.asdf - Closing the socket/handler after the removing the handler from IO for consistency Reviewed by: serg@mariadb.com
| | | * | MDEV-24171 index_online_log is instrumented as rw-lock, not mutexMarko Mäkelä2020-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The row_log_t::mutex is a mutex, yet it was instrumented as rw-lock in PERFORMANCE_SCHEMA.
| | | * | MDEV-7620: Remove the data structuresMarko Mäkelä2020-11-092-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The instrumentation that was added in commit 90635c6fb5e51aa878b81b1285c758afc361c7dc (MDEV-7620) was effectively reverted in MariaDB Server 10.2.2, in commit 2e814d4702d71a04388386a9f591d14a35980bfe (which stopped reporting the statistics) and commit fec844aca88e1c6b9c36bb0b811e92d9d023ffb9 (which stopped updating the statistics). Let us remove the orphan data members to reduce the memory footprint.
| | | * | MDEV-23103 rpl.rpl_gtid_delete_domain failed in buildbotAlice Sherepa2020-11-042-10/+4
| | | | |
| | | * | bump the VERSIONDaniel Bartholomew2020-11-031-1/+1
| | | | |
| | | * | Fix MTR test galera.galera_triggerDaniele Sciascia2020-11-032-0/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the test so that it does not rely on specific auto increment ids. With Galera's default wsrep_auto_increment_control setting it is not guaranteed that auto increments always start from 1. The test was occasionally failing due to result content mismatch. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
| | * | | Merge mariadb-10.3.27 into 10.3Marko Mäkelä2020-11-116-15/+143
| | |\ \ \
| | * | | | bump the VERSIONDaniel Bartholomew2020-11-111-1/+1
| | | | | |
| | * | | | MDEV-24130: Cannot launch mariadbd via mysqld_safeAnel Husakovic2020-11-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Patch 95bb3cb886cb64be3ee5ace660b used `my_which` function in `10.2` - Based on patch `355ee6877bec` from 10.3+ `command -v` is used instead of `my_which` so we are changing in this patch also - `ldconfig` is usually found in `/sbin` so make sure it is added in `$PATH` variable