[MDEV-18878] Purge is slow due to repeatedly looking up missing or discarded table Created: 2019-03-11  Updated: 2019-03-12  Resolved: 2019-03-11

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 5.5, 10.0, 10.1, 10.2, 10.3, 10.4
Fix Version/s: 10.2.23, 10.3.14, 10.4.4

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: performance, purge

Issue Links:
Relates
relates to MDEV-11802 innodb.innodb_bug14676111 fails in bu... Closed
relates to MDEV-17745 innodb.innodb_stats_persistent failed... Closed

 Description   

The tests innodb.undo_truncate and innodb.full_crc32_import are occasionally failing due to not all transactions having been purged. This is deterministically repeatable on a slow VM when running an ASAN-instrumented executable.

The reason for this is that the purge worker threads are unnecessarily issuing repeated lookups for tables that have been dropped, rebuilt or discarded. The threads should remember the latest failed lookup, so that unnecessary contention on the InnoDB dict_sys->mutex and dict_operation_lock and the buffer pool pages for SYS_TABLES can be avoided.


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