mariadb/storage/innobase/row
Marko Mäkelä 4a668c1892 MDEV-29401 InnoDB history list length increased in 10.6 compared to 10.5
The InnoDB buffer pool and locking were heavily refactored in
MariaDB Server 10.6. Among other things, dict_sys.mutex was removed,
and the contended lock_sys.mutex was replaced with a combination of
lock_sys.latch and distributed latches in hash tables. Also, a
default value was changed to innodb_flush_method=O_DIRECT to improve
performance in write-heavy workloads.

One thing where an adjustment was missing is around the parameters
innodb_max_purge_lag (number of committed transactions waiting to
be purged), and innodb_max_purge_lag_delay
(maximum number of microseconds to delay a DML operation).

purge_coordinator_state::do_purge(): Pass the history_size to trx_purge()
and reset srv_dml_needed_delay if the history is empty.
Keep executing the loop non-stop as long as srv_dml_needed_delay is set.

trx_purge_dml_delay(): Made part of trx_purge().
Set srv_dml_needed_delay=0 when nothing can be purged (!n_pages_handled).

row_mysql_delay_if_needed(): Mimic the logic of
innodb_max_purge_lag_wait_update().

Reviewed by: Thirunarayanan Balathandayuthapani
2023-04-27 17:11:32 +03:00
..
row0ext.cc
row0ftsort.cc MDEV-28313: Shrink ReadView::m_mutex 2022-04-14 10:21:43 +03:00
row0import.cc Merge 10.5 into 10.6 2023-04-11 16:15:19 +03:00
row0ins.cc MDEV-30413 : run sequence nextval got [Note] WSREP: MDL BF-BF conflict and [ERROR] Aborting 2023-03-30 13:32:44 +02:00
row0log.cc MDEV-29835 InnoDB hang on B-tree split or merge 2023-03-16 15:52:42 +02:00
row0merge.cc Merge 10.5 into 10.6 2023-04-25 13:10:33 +03:00
row0mysql.cc MDEV-29401 InnoDB history list length increased in 10.6 compared to 10.5 2023-04-27 17:11:32 +03:00
row0purge.cc MDEV-31132 Deadlock between DDL and purge of InnoDB history 2023-04-26 12:08:59 +03:00
row0quiesce.cc MDEV-31114 Assertion !...is_waiting() failed in os_aio_wait_until_no_pending_writes() 2023-04-24 09:57:58 +03:00
row0row.cc MDEV-30400 Assertion height == btr_page_get_level(...) on INSERT 2023-01-24 14:09:21 +02:00
row0sel.cc MDEV-29545 InnoDB: Can't find record during replace stmt 2023-03-24 15:20:21 +05:30
row0uins.cc MDEV-31132 Deadlock between DDL and purge of InnoDB history 2023-04-26 12:08:59 +03:00
row0umod.cc MDEV-30400 Assertion height == btr_page_get_level(...) on INSERT 2023-01-24 14:09:21 +02:00
row0undo.cc MDEV-22388 Corrupted undo log record leads to server crash 2022-06-22 10:04:28 +03:00
row0upd.cc MDEV-30882 Crash on ROLLBACK in a ROW_FORMAT=COMPRESSED table 2023-03-22 14:31:00 +02:00
row0vers.cc Merge 10.5 into 10.6 2023-04-11 16:15:19 +03:00