MySQL 5.7.31 includes the following InnoDB changes:
Bug#30875956 : PURGE ACTIVITY IS TOO MUCH AT CPU% BOUND AND CAUSES IDLE OVERDRIVE (and a follow-up to wake up purge on ANALYZE TABLE)
This is adding conditions to the callers of srv_wake_purge_thread_if_not_active() and also adding some extra calls to that function.
MDEV-11802 should already have fixed this.
Bug #29759555 INNODB: PAGE [PAGE ID: SPACE=1337, PAGE NUMBER=39] STILL FIXED OR DIRTY
This is fixing a regression that was introduced in MySQL 5.7.26. That change was not applicable to MariaDB. (
MDEV-19342 explains that MDEV-11487 had removed the code from MariaDB.)
Bug #29451999 CRASH WITH RANGE QUERIES
This is yet another follow-up fix to Bug#23481444 OPTIMISER CALL ROW_SEARCH_MVCC() AND READ THE INDEX APPLIED BY UNCOMMITTED ROWS, which we chose not to apply to MariaDB already in
Bug #30770380 INNODB: IBUF CURSOR RESTORATION FAILS!
This change is suppressing an error message in the change buffer, related to the WL#6501 TRUNCATE TABLE implementation of MySQL 5.7.
MDEV-13564 replaced that implementation. The error message is only possible in MariaDB 10.2 when using the non-default setting innodb_safe_truncate=OFF.