mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-532: Async InnoDB commit checkpoint.
Make the commit checkpoint inside InnoDB be asynchroneous. Implement a background thread in binlog to do the writing and flushing of binlog checkpoint events to disk.
This commit is contained in:
@@ -71,6 +71,12 @@ SET DEBUG_SYNC= "now WAIT_FOR con2_ready";
|
||||
--let $binlog_file= master-bin.000003
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
# We need to sync the test case with the background processing of the
|
||||
# commit checkpoint, otherwise we get nondeterministic results.
|
||||
SET DEBUG_SYNC= "RESET";
|
||||
SET @old_dbug= @@global.DEBUG_DBUG;
|
||||
SET GLOBAL debug_dbug="+d,binlog_background_checkpoint_processed";
|
||||
|
||||
SET DEBUG_SYNC= "now SIGNAL con2_continue";
|
||||
|
||||
connection con2;
|
||||
@@ -78,6 +84,12 @@ reap;
|
||||
|
||||
connection default;
|
||||
--echo con1 is still pending, no new binlog checkpoint should have been logged.
|
||||
# Make sure commit checkpoint is processed before we check that no checkpoint
|
||||
# event has been binlogged.
|
||||
SET DEBUG_SYNC= "now WAIT_FOR binlog_background_checkpoint_processed";
|
||||
SET GLOBAL debug_dbug= @old_dbug;
|
||||
SET DEBUG_SYNC= "RESET";
|
||||
|
||||
--let $binlog_file= master-bin.000003
|
||||
--source include/show_binlog_events.inc
|
||||
|
||||
|
Reference in New Issue
Block a user