- 22 Sep, 2020 10 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
It turns out that we must check for DISCARD TABLESPACE both when the table is being rebuilt and when the AUTO_INCREMENT value of the table is being added. This was caught by the test innodb.alter_missing_tablespace. Somehow I failed to run all tests. Sorry!
-
Marko Mäkelä authored
The statement ALTER TABLE...DISCARD TABLESPACE is problematic, because its designed purpose is to break the referential integrity of the data dictionary and make a table point to nowhere. ha_innobase::commit_inplace_alter_table(): Check whether the table has been discarded. (This is a bit late to check it, right before committing the change.) Previously, we performed this check only in a specific branch of the function commit_set_autoinc(). Note: We intentionally allow non-rebuilding ALTER TABLE even if the tablespace has been discarded, to remain compatible with MySQL. (See the various tests with "wl5522" in the name, such as innodb.innodb-wl5522.) The test case would crash starting with 10.3 only, but it does not hurt to minimize the code and test difference between 10.2 and 10.3.
-
Marko Mäkelä authored
dict_load_table_low(): Copy the 'discarded' flag to file_unreadable. This allows to avoid a potentially harmful call to dict_stats_init() in ha_innobase::open().
-
Marko Mäkelä authored
The test that was added in commit e05650e6 would break a subsequent run of a test encryption.innodb-bad-key-change because some pages in the system tablespace would be encrypted with a different key. The failure was repeatable with the following invocation: ./mtr --no-reorder \ encryption.create_or_replace,cbc \ encryption.innodb-bad-key-change,cbc Because the crash was unrelated to the code changes that we reverted in commit eb38b1f7 we can safely re-apply those fixes.
-
Jan Lindström authored
-
Jan Lindström authored
Add error printout when mysql.wsrep_streaming_log lock fails. However, tests are very undeterministic and not suitable for mtr environment. Thus, they are removed.
-
Marko Mäkelä authored
After DISCARD TABLESPACE, the tablespace of a table will no longer exist, and dict_get_and_save_data_dir_path() would invoke dict_get_first_path() to read an entry from SYS_DATAFILES. For some reason, DISCARD TABLESPACE would not to remove the entry from there. dict_get_and_save_data_dir_path(): If the tablespace has been discarded, do not bother trying to read the name. Side note: The tables SYS_TABLESPACES and SYS_DATAFILES are redundant and subject to removal in MDEV-22343.
-
Marko Mäkelä authored
This reverts commit e33f7b6f. The change seems to have introduced intermittent failures of the test encryption.innodb-bad-key-change on many platforms. The failure that we were trying to address was not reproduced on 10.2. It could be related to commit a7dd7c89 (MDEV-23651) or de942c9f (MDEV-15983) or other changes that reduced contention on fil_system.mutex in 10.3. The fix that we are hereby reverting from 10.2 seems to work fine on 10.3 and 10.4.
-
- 21 Sep, 2020 13 commits
-
-
Marko Mäkelä authored
We omit commit a3bdce8f and commit a0e2a293 because they would make the test galera_3nodes.galera_gtid_2_cluster fail and disable it.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This was forgotten in commit a9d8f5c1.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Let us shrink the test encryption.create_or_replace so that it can run on the CI system, also on the embedded server. encryption.create_or_replace_big: Renamed from the original test, with the subset of encryption.create_or_replace omitted.
-
Marko Mäkelä authored
The test encryption.create_or_replace would occasionally fail with a warning message from fil_check_pending_ops(). fil_crypt_find_space_to_rotate(): While waiting for available I/O capacity, check fil_space_t::is_stopping() and release a handle if necessary. fil_space_crypt_close_tablespace(): Wake up the waiters in fil_crypt_find_space_to_rotate().
-
Jan Lindström authored
-
Jan Lindström authored
-
Vlad Lesin authored
-
Vlad Lesin authored
log_group_read_log_seg() returns error when: 1) Calculated log block number does not correspond to read log block number. This can be caused by: a) Garbage or an incompletely written log block. We can exclude this case by checking log block checksum if it's enabled(see innodb-log-checksums, encrypted log block contains checksum always). b) The log block is overwritten. In this case checksum will be correct and read log block number will be greater then requested one. 2) When log block length is wrong. In this case recv_sys->found_corrupt_log is set. 3) When redo log block checksum is wrong. In this case innodb code writes messages to error log with the following prefix: "Invalid log block checksum." The fix processes all the cases above.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 18 Sep, 2020 2 commits
-
-
Jan Lindström authored
Fix assertion text it was too tight for some systems. This is backport from 10.4 and for Galera 3.
-
Jan Lindström authored
Fix assertion text it was too tight for some systems.
-
- 17 Sep, 2020 4 commits
-
-
Vladislav Vaintroub authored
The presumed reason for the error is that the file was opened by 3rd party antivirus or backup program, causing ERROR_SHARING_VIOLATION on rename. The fix, actually a workaround, is to retry MoveFileEx couple of times before finally giving up. We expect 3rd party programs not to hold file for extended time.
-
Vladislav Vaintroub authored
-
Jan Lindström authored
MDEV-23574 : galera_3nodes.galera_ipv6_mariabackup_section MTR failed: Could not open '../galera/include/have_mariabackup.inc' Test case and configuration cleanup.
-
Jan Lindström authored
Add wait_condition to wait correct cluster configuration.
-
- 16 Sep, 2020 1 commit
-
-
Jan Lindström authored
MDEV-21655 : galera.galera_wan_restart_ist MTR fails sporadically: WSREP did not transition to state READY Replace sleeps with proper wait_conditions to wait correct cluster configuration.
-
- 14 Sep, 2020 5 commits
-
-
Jan Lindström authored
-
Jan Lindström authored
Made the test work with --repeat option by adding galera_wait_ready.inc at the end of test. Recorded the test output.
-
Jan Lindström authored
MDEV-23617 : galera_sr.galera_sr_rollback_retry MTR failed: 1213: Deadlock found when trying to get lock Add corrected wait_condition to wait until rows are in streaming replication log.
-
Vlad Lesin authored
Parse SHOW SLAVE STATUS output for the "Using_Gtid" column. If the value is "No", then old log file and position is backed up, otherwise gtid_slave_pos is backed up.
-
Nikita Malyavin authored
virtual column in index Problem: row_ins_foreign_fill_virtual was unconditionally set virtual fields to NULL even though the field is not a part of a foreign key (but a part of an index) Solution: The new virtual value should be computed with regard to cascade updates.
-
- 11 Sep, 2020 3 commits
-
-
Jan Lindström authored
MDEV-23587 : galera_3nodes.galera_var_dirty_reads2 MTR failed: 1047: WSREP has not yet prepared node for application use Add wait_condition tomake sure insert is replicated and server is after isolation back on ready state.
-
Thirunarayanan Balathandayuthapani authored
- Changed the fil_space_set_recv_size_and_flags() to set the tablespace size when size is not zero.
-
Thirunarayanan Balathandayuthapani authored
- Addressing ASAN failure in fts_check_aux_table()
-
- 10 Sep, 2020 2 commits
-
-
Jan Lindström authored
Add wait_condition so that inserts to parent and child are replicated and applied before we set debug sync point.
-
Jan Lindström authored
Remove incorrect BF (brute force) handling from lock_rec_has_to_wait_in_queue and move condition to correct callers. Add a function to report BF lock waits and assert if incorrect BF-BF lock wait happens. wsrep_report_bf_lock_wait Add a new function to report BF lock wait. wsrep_assert_no_bf_bf_wait Add a new function to check do we have a BF-BF wait and if we have report this case and assert as it is a bug. lock_rec_has_to_wait Use new wsrep_assert_bf_wait to check BF-BF wait. lock_rec_create_low lock_table_create Use new function to report BF lock waits. lock_rec_insert_by_trx_age lock_grant_and_move_on_page lock_grant_and_move_on_rec Assert that trx is not Galera as VATS is not compatible with Galera. lock_rec_add_to_queue If there is conflicting lock in a queue make sure that transaction is BF. lock_rec_has_to_wait_in_queue Remove incorrect BF handling. If there is conflicting locks in a queue all transactions must wait. lock_rec_dequeue_from_page lock_rec_unlock If there is conflicting lock make sure it is not BF-BF case. lock_rec_queue_validate Add Galera record locking rules comment and use new function to report BF lock waits. All attempts to reproduce the original assertion have been failed. Therefore, there is no test case on this commit.
-