[MDEV-532] Implement async commit checkpoint in InnoDB and XtraDB Created: 2012-09-13  Updated: 2020-12-01  Resolved: 2012-12-18

Status: Closed
Project: MariaDB Server
Component/s: None
Fix Version/s: 10.0.1

Type: Task Priority: Major
Reporter: Kristian Nielsen Assignee: Kristian Nielsen
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
causes MDEV-24302 RESET MASTER hangs as Innodb does not... Closed
Relates
relates to MDEV-22350 ensure no replication threads are aro... Open

 Description   

MDEV-232 introduces commit checkpoints in the storage engines. Such
checkpoints can be performed fully asynchronous, but current implementation
in InnoDB/XtraDB is mostly synchronous.

This task is about improving this to a fully asynchronous implementation.

In addition I want to extend the server layer binlog checkpointing so that it
does the actual writing of checkpoint event to the binlog in a separate
background thread:

1. The commit_checkpoint_notify_ha() call may come from arbitrary thread in
the storage engine which may not be prepared to have lengthy binlog sync or
other stuff done in its own thread context.

2. I need to use debug_sync in the test cases to make them deterministic, but
this requires THD, and eg. innodb background log flush does not have THD.

3. Such background binlog thread will later be useful to do binlog
pre-allocation or rotation in the background, to further improve performance
and reduce stalls.



 Comments   
Comment by Kristian Nielsen [ 2012-09-21 ]

assigning to serg for review

Comment by Kristian Nielsen [ 2012-12-18 ]

pushed to 10.0-base

Generated at Thu Feb 08 06:29:27 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.