[MDEV-16824] InnoDB should skip MVCC and transaction locking for temporary tables. Created: 2018-07-25  Updated: 2023-04-27

Status: Confirmed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.2.2, 10.3.0
Fix Version/s: 10.4

Type: Bug Priority: Major
Reporter: Thirunarayanan Balathandayuthapani Assignee: Thirunarayanan Balathandayuthapani
Resolution: Unresolved Votes: 0
Labels: lock, performance, temporary

Issue Links:
Relates
relates to MDEV-16467 MariaDB crashes because of "long sema... Closed
relates to MDEV-16713 Hangs server with repeating log entry Closed

 Description   

InnoDB Should skip mvcc and transaction locking for temporary tables in 10.2+. Currently row_search_mvcc() process temporary tables with locking. Temporary tables is private to
the connection. There can be one active transaction in temporary table. So it is not necessary
to use mvcc and transaction locking for temporary tables.



 Comments   
Comment by Marko Mäkelä [ 2018-07-30 ]

Similarly, InnoDB should skip transactional locking for the change buffer tree. The attachment uniqstack.txt in MDEV-16467 shows that lock_update_delete() is being called via btr_cur_optimistic_delete_func() by ibuf_delete_rec(). There should be no transactions operating on the change buffer tree, hence the locking there is completely unnecessary.

I would also disable the use of the adaptive hash index on temporary tables and the change buffer tree if they are not already disabled.

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