- 09 Jul, 2019 5 commits
-
-
Aleksey Midenkov authored
MDEV-16222 Assertion `0' failed in row_purge_remove_sec_if_poss_leaf on table with virtual columns and indexes Cause Stale thd->m_stmt_da->m_sql_errno which is from different invocation. Fix Reset error state before attempt to open table.
-
Aleksey Midenkov authored
MDEV-19175 Server crashes in ha_partition::vers_can_native upon INSERT DELAYED into versioned partitioned table Uninitialized LEX::part_info on ha_partition::vers_can_native().
-
Aleksey Midenkov authored
-
Aleksey Midenkov authored
Another fail fix: undefined reference to `ZipLoadFile`
-
sysprg authored
* MDEV-18565: Galera mtr-suite fails if galera library is not installed Currently, running mtr with an incorrect (for example, new or obsolete) version of wsrep_provider (for example, with the 26 version of libgalera_smm.so) leads to the failure of tests in several suites with vague error diagnostics. As for the galera_3nodes suite, the mtr also does not effectively check all the prerequisites after merge with MDEV-18426 fixes. For example, tests that using mariabackup do not check for presence of ss and socat/nc. This is due to improper handling of relative paths in mtr scripts. In addition, some tests in different suites can be run without setting the environment variables such as MTR_GALERA_TFMT, XBSTREAM, and so on. To eliminate all these issues, this patch makes the following changes: 1. Added auxiliary wsrep_mtr_check utility (which located in the mysql-test/lib/My/SafeProcess subdirectory), which compares the versions of the wsrep API that used by the server and by the wsrep provider library, and it does this comparison safely, without accessing the API if the versions do not match. 2. All checks related to the presence of mariabackup and utilities that necessary for its operation transferred from the local directories of different mtr suites (from the suite.pm files) to the main suite.pm file. This not only reduces the amount of code and eliminates duplication of identical code fragments, but also avoids problems due to the inability of mtr to consider relative paths to include files when checking skip combinations. 3. Setting the values of auxiliary environment variables that are necessary for Galera, SST scripts and mariabackup (to work properly) is moved to the main mysql-test-run.pl script, so as not to duplicate this code in different suites, and to avoid partial corrections of the same errors for different suites (while other suites remain uncorrected). 4. Fixed duplication of the have_file_key_management.inc and have_filekeymanagement.inc files between different suites, these checks are also transferred to the top level. https://jira.mariadb.org/browse/MDEV-18565 * Build without additional utility in configurations without wsrep support
-
- 03 Jul, 2019 2 commits
-
-
Sergei Petrunia authored
Part#2: Remove other unneeded files which cause compile warnings-treated-as-errors errors on Windows.
-
Sergei Petrunia authored
Don't compile table/mock_table.cc (pushing this patch to 10.3 first to make sure it fixes the issue will push to 10.2, too)
-
- 02 Jul, 2019 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Even though the PAUSE instruction latency was increased from about 10 to 140 clock cycles in the Intel Skylake microarchitecture, it seems to be optimal to reduce the amount of subsequently executed PAUSE instructions not to 1/14, but to 1/2.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 01 Jul, 2019 9 commits
-
-
Thirunarayanan Balathandayuthapani authored
- Changed the assert to ignore SRV_LOG_SPACE_FIRST_ID. Post push fix to address the previous commit failure.
-
Marko Mäkelä authored
btr_lift_page_up(): Correct the incorrect condition. page_validate(): Validate the page type.
-
Marko Mäkelä authored
page_validate(): Validate also the page type, and try to list all errors that were encountered for the page, with a little more detail.
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
Changed the debug insert inside fil_io() to check whether it writes the page to wrong offset only for user tablespace.
-
Thirunarayanan Balathandayuthapani authored
- log_crypt_init() should be called from create_log_files(). Because it should re-create the new random nonce compared to the old ones.
-
Marko Mäkelä authored
The test innodb.leaf_page_corrupted_during_recovery fails on buildbot with Warning 1406 Data too long for column 'line' at row 10 line len 16384; hex ... because of a page dumps that InnoDB is generating for a corrupted page Since this test is using debug instrumentation, we will solve the issue by disabling page dumps in debug builds altogether. Users of debug builds will likely know how to extract page dumps in other means. Page dump output could sometimes be useful when diagnosing problems that users are facing. Hence we will keep the page dump output in non-debug (release) builds.
-
Thirunarayanan Balathandayuthapani authored
MDEV-19914 Server startup fails while dropping garbage encrypted tablespace if innodb_encryption_threads > 0 - Avoiding accessing encryption thread mutex before initiating the encryption threads
-
Thirunarayanan Balathandayuthapani authored
- Ported mysql Bug#20597981 test case to mariadb-10.2 - InnoDB never used fts_doc_id_in_read_set. Basically it tells innodb to read the fts_doc_id from the index record itself.
-
- 28 Jun, 2019 2 commits
-
-
Thirunarayanan Balathandayuthapani authored
- Introduce a new variable called innodb_encrypt_temporary_tables which is a boolean variable. It decides whether to encrypt the temporary tablespace. - Encrypts the temporary tablespace based on full checksum format. - Introduced a new counter to track encrypted and decrypted temporary tablespace pages. - Warnings issued if temporary table creation has conflict value with innodb_encrypt_temporary_tables - Added a new test case which reads and writes the pages from/to temporary tablespace.
-
Thirunarayanan Balathandayuthapani authored
Added the condition in innochecksum tool to check page id mismatch. This could catch the write corruption caused by InnoDB. Added the debug insert inside fil_io() to check whether it writes the page to wrong offset.
-
- 27 Jun, 2019 8 commits
-
-
Monty authored
-
Monty authored
The bug was that when long item-strings was converted to VARCHAR, type_handler::string_type_handler() didn't take into account max VARCHAR length. The resulting Aria temporary table was created with a VARCHAR field of length 1 when it should have been 65537. This caused MariaDB to send impossible records to ma_write() and Aria reported eventually the table as crashed. Fixed by updating Type_handler::string_type_handler() to not create too long VARCHAR fields. To make things extra safe, I also added checks in when writing dynamic Aria records to ensure we find the wrong record during write instead of during read.
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
A fix in MySQL 5.7.6 was not completely merged to MariaDB: Bug#19419026 WHEN A TABLESPACE IS NOT FOUND, DO NOT REPORT "TABLE NOT FOUND"
-
Marko Mäkelä authored
On some platforms, MY_RELAX_CPU() falls back to an atomic memory operation, but my_cpu.h fails to include my_atomic.h.
-
Marko Mäkelä authored
The RDTSC instruction, which was introduced in the Intel Pentium, has been used in MariaDB for a long time. But, the __rdtsc() wrapper is not available by default in some x86 build environments. The simplest solution seems to replace the inlined instruction with a call to the wrapper function my_timer_cycles(). The overhead for the call should not affect the measurement threshold. On Windows and on AMD64, we will keep using __rdtsc() directly.
-
Marko Mäkelä authored
Starting with the Intel Skylake microarchitecture, the PAUSE instruction latency is about 140 clock cycles instead of earlier 10. On AMD processors, the latency could be 10 or 50 clock cycles, depending on microarchitecture. Because of this big range of latency, let us scale the loops around the PAUSE instruction based on timing results at server startup. my_cpu_relax_multiplier: New variable: How many times to invoke PAUSE in a loop. Only defined for IA-32 and AMD64. my_cpu_init(): Determine with RDTSC the time to run 16 PAUSE instructions in two unrolled loops according, and based on the quicker of the two runs, initialize my_cpu_relax_multiplier. This form of calibration was suggested by Mikhail Sinyavin from Intel. LF_BACKOFF(), ut_delay(): Use my_cpu_relax_multiplier when available. ut_delay(): Define inline in my_cpu.h. UT_COMPILER_BARRIER(): Remove. This does not seem to have any effect, because in our ut_delay() implementation, no computations are being performed inside the loop. The purpose of UT_COMPILER_BARRIER() was to prohibit the compiler from reordering computations. It was not emitting any code.
-
- 26 Jun, 2019 1 commit
-
-
Vlad Lesin authored
Decrease array on stack in open_or_create_log_file() to avoid stack overflow.
-
- 25 Jun, 2019 2 commits
-
-
Monty authored
The problem was that the code in maria_extra assumed that there could be only one table open when doing maria_extra(MA_FORCE_REOPEN) However in the case of triggers, there can be multiple copies of the table open. Fixed by removing assert.
-
Marko Mäkelä authored
This was accidentally broken in the parent commit.
-
- 24 Jun, 2019 3 commits
-
-
Marko Mäkelä authored
Also, move part of the test back to innodb.innodb_mysql and another part to a new test innodb.purge. Last but not least, merge the tests innodb_zip.4k and innodb_zip.8k to innodb_zip.page_size.
-
Marko Mäkelä authored
-
Anel Husakovic authored
-
- 23 Jun, 2019 1 commit
-
-
Eugene Kosov authored
-