- 20 Jan, 2020 5 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Jan Lindström authored
Add wait conditions to make sure correct number of rows have been replicated.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 19 Jan, 2020 6 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 17 Jan, 2020 13 commits
-
-
Sergei Golubchik authored
-
Maheedhar PV authored
test case only
-
Marko Mäkelä authored
The only change is a change of the version number. In MySQL 5.6.46, the copyright comments in a number of files were changed in mysql/mysql-server@f1a006ece7521cb02f9b961e6fad04d12ddfbab3 but there was no functional change to InnoDB code. This was also reflected by XtraDB. We are not changing the copyright comments in MariaDB Server for now. Between MySQL 5.6.46 and 5.6.47, InnoDB was not changed at all. Actually, we had forgotten to update the InnoDB version number to 5.6.46. With this change, we are updating InnoDB from 5.6.45 to 5.6.47 and XtraDB from 5.6.45-86.1 to 5.6.46-86.2.
-
Sergei Petrunia authored
-
Marko Mäkelä authored
-
Nikša Skeledžija authored
- Fixed a warning visible in optimized build related to calling memcpy with length parameters larger than ptrdiff_t max. rb#23333 approved by Annamalai Gurusami <annamalai.gurusami@oracle.com>
-
Marko Mäkelä authored
IndexPurge::next(): Replace btr_pcur_move_to_next_user_rec() with some equivalent code that performs sanity checks without killing the server. Perform some additional sanity checks as well. This change is motivated by mysql/mysql-server@48de4d74f4d2f10cd01b129753c7dfa908cf36b5 which unnecessarily introduces storage overhead to btr_pcur_t and uses a test case that injects a fault somewhere else, not in the code path that was modified.
-
Marko Mäkelä authored
MySQL 5.7.29 includes the following fix: Bug #30287668 INNODB: A LONG SEMAPHORE WAIT mysql/mysql-server@5cdbb22b51cf2b35dbdf5666a251ffbec2f84dec There is no test case. It seems that the problem could occur when a spatial index is large and peculiar enough so that multiple R-tree leaf pages will have the exactly same maximum bounding rectangle (MBR). The commit message suggests that the hang can occur when R-tree non-leaf pages are being merged, which should only be possible during transaction rollback or the purge of transaction history, when the R-tree index is at least 2 levels high and very many records are being deleted. The message says that a comparison result that two spatial index node pointer records are equal will cause an infinite loop in rtr_page_copy_rec_list_end_no_locks(). Hence, we must include the child page number in the comparison to be consistent with mysql/mysql-server@2e11fe0e152e34d73579e1a9ec19aedc3f6010f6. We fix this bug in a simpler way, involving fewer code changes. cmp_rec_rec(): Renamed from cmp_rec_rec_with_match(). Assert that rec2 always resides in an index page. Treat non-leaf spatial index pages specially.
-
Marko Mäkelä authored
Now that we will be invoking dtuple_get_n_ext() instead of letting btr_push_update_extern_fields() update an already calculated value, it is unnecessary to calculate the n_ext upfront. row_rec_to_index_entry(), row_rec_to_index_entry_low(): Remove the output parameter n_ext.
-
Marko Mäkelä authored
During update, rollback, or MVCC read, we may miscalculate the number of off-page columns, and thus the size of the clustered index record. The function btr_push_update_extern_fields() is mostly redundant, because the off-page columns would also be moved by row_upd_index_replace_new_col_val(), which is invoked via row_upd_index_replace_new_col_vals(). btr_push_update_extern_fields(): Remove. This is based on mysql/mysql-server@1fa475b85d24de4b9ce2958c0eed738c221fc82c which refines a fix for a recovery bug fix mysql/mysql-server@ce0a1e85e24e48b8171f767b44330da635a6ea0a in MySQL 5.7.5. No test case was provided by Oracle. Some of the changed code is being covered by the existing test innodb.blob-crash.
-
Marko Mäkelä authored
WL#6326 in MariaDB 10.2.2 introduced a potential hang on purge or rollback when an index tree is being shrunk by multiple levels. This fix is based on mysql/mysql-server@f2c58526300c0d84837effa26d37cbd5d2694967 with the main difference that our version of the test case uses DEBUG_SYNC instrumentation on ROLLBACK, not on purge. btr_cur_will_modify_tree(): Simplify the check further. This is the actual bug fix. row_undo_mod_remove_clust_low(), row_undo_mod_clust(): Add DEBUG_SYNC instrumentation for the test case.
-
Marko Mäkelä authored
-
Jan Lindström authored
Add mutex protection while we calculate required slave thread change and create them. Add error handling.
-
- 16 Jan, 2020 7 commits
-
-
Sergei Petrunia authored
# Conflicts: # sql/sp_head.cc # sql/sql_select.cc # sql/sql_trigger.cc
-
Vicențiu Ciorbaru authored
Remove the offending test case. This sort of error is hard to test in all possible corner cases and thus makes the test less valuable. The overflow error will be covered by warnings generated by the compiler, which is much more reliable in the general case.
-
Vicențiu Ciorbaru authored
* size represents the size of an element in the Unique class * full_size is used when the Unique class counts the number of duplicates stored per element. This requires additional space per Unique element.
-
Jan Lindström authored
Add wait condition for event creation.
-
Marko Mäkelä authored
The write-heavy test innodb_zip.wl6501_scale_1 timed out on 10.2 60d7011c for me. Out of os_aio_n_segments=6, 5 are waiting for an event in os_aio_simulated_handler(). One thread is waiting for a write to complete in buf_dblwr_add_to_batch(), but that would never happen, because nothing is waking up the simulated AIO handler threads. This hang appears to have been introduced in MySQL 5.6.12 in mysql/mysql-server@26cfde776cdf5ce61bd5cc494dfc1df28c76977f.
-
Alice Sherepa authored
-
Jan Lindström authored
Waiting wsrep_ready is possible only if wsrep_on=ON.
-
- 15 Jan, 2020 6 commits
-
-
Alice Sherepa authored
-
Alice Sherepa authored
-
Alice Sherepa authored
-
Sergei Petrunia authored
Dont assign Item_field variables to point to Item_string objects (even if we don't make any dangerous calls for them).
-
Sergei Petrunia authored
Item_cond inherits from Item_args but doesn't store its arguments as function arguments, which means it has zero arguments. Don't call memcpy in this case.
-
Jan Lindström authored
-
- 14 Jan, 2020 2 commits
-
-
Sergei Petrunia authored
(Variant #2 of the patch, which keeps the sp_head object inside the MEM_ROOT that sp_head object owns) (10.3 requires extra work due to sp_package, will commit a separate patch for it) sp_head::operator new() and operator delete() were dereferencing sp_head* pointers to memory that didn't hold a valid sp_head object (it was not created/already destroyed). This caused UBSan to crash when looking up type information. Fixed by providing static sp_head::create() and sp_head::destroy() methods.
-
Daniele Sciascia authored
The long semaphore wait appeared to be the caused by the following pattern in the MTR test: ``` SET DEBUG_SYNC = "now SIGNAL wsrep_after_certification_continue"; SET DEBUG_SYNC = "now SIGNAL signal.wsrep_apply_cb; ``` Raising two signals, one right after another, caused one signal to overwrite the other, before the signal was consumed by the thread. This caused one thread to be stuck until the debug sync point would timeout.
-
- 13 Jan, 2020 1 commit
-
-
Markus Mäkelä authored
The string doesn't appear to be null-terminated when binlog checksums are enabled. This causes a corrupt binlog name in the error message when a slave is ahead of the master.
-