mirror of
https://github.com/MariaDB/server.git
synced 2025-05-05 16:59:35 +03:00
Problem was that log_scrub function did not take required log_sys mutex. Background: Unused space in log blocks are padded with MLOG_DUMMY_RECORD if innodb-scrub-log is enabled. As log files are written on circular fashion old log blocks can be reused later for new redo-log entries. Scrubbing pads unused space in log blocks to avoid visibility of the possible old redo-log contents. log_scrub(): Take log_sys mutex log_pad_current_log_block(): Increase srv_stats.n_log_scrubs if padding is done. srv0srv.cc: Set srv_stats.n_log_scrubs to export vars innodb_scrub_log ha_innodb.cc: Export innodb_scrub_log to global status.
14 lines
445 B
Plaintext
14 lines
445 B
Plaintext
--source include/have_innodb.inc
|
|
|
|
#
|
|
# MDEV-11705: InnoDB: Failing assertion: (&log_sys->mutex)->is_owned() if server started with innodb-scrub-log
|
|
#
|
|
|
|
create table t1(a int not null primary key auto_increment,
|
|
b varchar(200), c char(100), d varchar(150)) engine=innodb;
|
|
|
|
let $wait_condition= SELECT variable_value FROM information_schema.global_status WHERE variable_name = 'innodb_scrub_log';
|
|
--source include/wait_condition.inc
|
|
|
|
DROP TABLE t1;
|