[MDEV-20133] Merge new release of InnoDB 5.7.27 to 10.2 Created: 2019-07-23  Updated: 2019-10-17  Resolved: 2019-07-25

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: 10.2.26, 10.3.17, 10.4.7

Type: Task Priority: Blocker
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-20850 Merge new release of InnoDB 5.7.28 to... Closed
is blocked by MDEV-14154 Failing assertion: slot->last_run <= ... Closed
is blocked by MDEV-19342 Merge new release of InnoDB 5.7.26 to... Closed
PartOf
is part of MDEV-19565 10.4.7 merge Closed

 Description   

MySQL 5.7.27 includes the following InnoDB changes:

Not applicable to MariaDB Server

Bug#28687608 EXCHANGE PARTITION GENERATING ERROR FOR ROW_FORMAT WHEN IT SHOULD NOT
The code changes are related to the InnoDB native partitioning (ha_innopart) that was introduced in MySQL 5.7. At the very end of the extended test main.partition_exchange there is a test for the scenario, and MariaDB is correctly returning ER_PARTITION_EXCHANGE_DIFFERENT_OPTION. Note: the test assumes default_storage_engine='innodb', which does not hold in MariaDB. It also uses WITH VALIDATION and WITHOUT VALIDATION syntax, which is missing from MariaDB.

Bug #29508001 MYSQL DEADLOCK AND BUGCHECK ON AARCH64 UNDER STRESS TEST
This attempts to fix something that was already fixed in MariaDB in MDEV-7148, MDEV-10813, and MDEV-11296.

Bug#28834208 row_log_table_apply_update*inplace_alter_table_impl*assertion failure:row0log.cc
MariaDB Server 10.2.11, 10.3.3 and later refuse online rebuild if indexed virtual columns exist (MDEV-13795, MDEV-14332) because various problems exist with the logging.

Bug#28104394 : INNODB 5.7 PRIMARY KEY SCAN LACK DATA
This is one more fix for the "optimized range scan" series of regressions caused by a change that we decided not to merge to MariaDB in MDEV-11751.

Not directly applicable to MariaDB

Bug #25289359 DML/DDL ON LARGE FULLTEXT TABLES CAUSE SEMAPHORE TIMEOUTS AND ASSERTION/SUICIDE
There is no test case, but there is debug instrumentation. We will investigate the scenario and track this change in MDEV-20126.

Applicable to MariaDB Server

Bug #29127203 VIRTUAL GENERATED COLUMN INDEX DATA INCONSISTENCY
This appears to fix something with virtual columns that are connected to FOREIGN KEY constraints. There is no test case.

BUG#29138644 PAGE CLEANER WILL SLEEP FOR LONG TIME IF CLOCK CHANGES and follow-up fix
This will be handled in MDEV-14154. The functions ut_time_us(), ut_time_ms(), ut_time() must be replaced with the use of a a monotonic timer, such as my_interval_timer().



 Comments   
Comment by Marko Mäkelä [ 2019-07-25 ]

The MDEV-14154 related changes covered almost all aspects of
BUG#29138644 PAGE CLEANER WILL SLEEP FOR LONG TIME IF CLOCK CHANGES
except this one:

-	buf_pool->last_printout_time = ut_time();
+	buf_pool->last_printout_time = ut_time_monotonic();

This will affect time_elapsed in buf_stats_get_pool_info(), which in turn will affect the following:

pool_info->page_made_young_rate
pool_info->page_not_made_young_rate
pool_info->pages_read_rate
pool_info->pages_created_rate
pool_info->pages_written_rate
pool_info->pages_readahead_rnd_rate
pool_info->pages_readahead_rate
pool_info->pages_evicted_rate

None of these affect the page_cleaner. They affect some diagnostic output, such as SHOW ENGINE INNODB STATUS and INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS.
Because time(NULL) may have significantly smaller overhead than a monotonic timer, it is best to avoid replacing that.

Generated at Thu Feb 08 08:57:05 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.