[MDEV-27716] mtr_t::commit() unnecessarily acquires log_sys.mutex when writing no log Created: 2022-02-02  Updated: 2022-02-09  Resolved: 2022-02-09

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.5, 10.6, 10.7, 10.8
Fix Version/s: 10.5.15, 10.6.7, 10.7.3, 10.8.2

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

Issue Links:
Relates
relates to MDEV-12227 Defer writes to the InnoDB temporary ... Closed
relates to MDEV-14425 Change the InnoDB redo log format to ... Closed

 Description   

In mtr_t::commit(), we acquire log_sys.mutex even when no redo log has been generated.

Before log_sys.lsn was changed to be std::atomic in MariaDB 10.5.2, acquiring the mutex was necessary. Likewise, before MDEV-12227 in MariaDB 10.5.9, pages of temporary tablespace were being added to the buf_pool.flush_list. After those changes, there should be no reason to acquire log_sys.mutex when committing a mini-transaction that is not changing any persistent data.


Generated at Thu Feb 08 09:55:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.