We should merge the relevant InnoDB fixes from MySQL 5.7.19 to MariaDB 10.2.
The code diff between 5.7.18 (merged in
MDEV-11751) and 5.7.19 for storage/innobase is 1353 lines, so not very much. And not all changes to storage/innobase matter. Here is a complete list of commits:
MDEV-11487 removed the code for 'internal temporary tables' which was not used in MariaDB, so Bug#25080442 is not present in MariaDB 10.2.3 or later. MDEV-12050 removed the Memcached plugin, so the patch for Bug#24605783 is not applicable to MariaDB 10.2.4 or later. (We must take care to revert any additional code that may have been added to 10.0 when merging the fix from 5.6.) MDEV-12103 fixed Bug#22963951 in a different way in MariaDB 10.2.5.
We definitely do not want the ‘fix’ of Bug#25479538 which is simply removing an assertion, which should not fail in the first place. Possibly, the actual bug was fixed by
MDEV-11556 in MariaDB 10.1.21 and 10.2.4.
Bug#25909965 is not applicable, because
MDEV-10813 cleaned up InnoDB
atomics already, and MariaDB does not contain any references to
MDEV-9659 already introduced aws_key_management plugin in MariaDB 10.1.13 and 10.2.0, and WL#9143 is only mimicing that for MySQL 5.7.19.
Bug#26243264 and a memory leak fix in WL#9143 are specific to the MySQL 5.7 implementation of tablespace encryption. MariaDB 10.1 introduced encryption earlier.
WL#10322: Deprecate innodb_undo_logs in 5.7
This is preparation for some change in MySQL 8.0. There is no plan to do similar changes in future MariaDB versions. Any deprecation would be done as part of a future MariaDB task, such as MDEV-11657.
Bug#25189192 ERRORS WHEN RESTARTING MYSQL AFTER RENAME TABLE
This bug should actually be also present in MySQL 5.6, which introduced the SYS_DATAFILES table when introducing support for DATA DIRECTORY. So, maybe we should apply it to 10.0 already.
Bug#25573565 TABLE REBUILD USES EXCESSIVE MEMORY
1497d81826c Merge branch 'mysql-5.6' into mysql-5.7
We got this into 10.0.32 via the merge of 5.6.37. Some follow-up merge resolution is needed for 10.2, for indexed virtual columns.
BUG#25365223 ERRORLOG UPDATED WITH NOTES INFORMATION WHEN A REF FKEY ISN'T FOUND IN GRSETUP
This removes useless error log spam when foreign_key_checks=0.
Bug#25357789 INNODB: LATCH ORDER VIOLATION DURING TRUNCATE TABLE IF INNODB_SYNC_DEBUG ENABLED
This could fix server hangs in TRUNCATE TABLE. The bug probably was introduced in WL#6501 in MySQL 5.7.2, or in some follow-up fix.
Bug#25175249 ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD) ∨ (FIELD && FIELD->PREFIX_LEN ? FIELD
Bug#25793677 INNODB: FAILING ASSERTION: CLUST_TEMPL_FOR_SEC ∨ LEN
These are follow-up fixes for Bug#23481444 OPTIMISER CALL ROW_SEARCH_MVCC() AND READ THE INDEX APPLIED BY UNCOMMITTED ROWS
which (as noted in
MDEV-11751) already had quite a few follow-up fixes in 5.7.18. It was not merged to MariaDB 10.2.7, so we do not need these follow-up fixes either.
The Bug#25175249 patch was also backported to 5.6.37.
We will take the test case from Bug#25793677. The bug did not exist in MariaDB 10.2.
The following bugs in the InnoDB implementation of indexed virtual columns have been fixed. We will merge these into MariaDB:
Bug#24960450 CONCURRENT DELETE DOESN'T APPLY DURING TABLE REBUILD
Bug#24961167 CONCURRENT INSERT FAILS IF TABLE DOES REBUILD