mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 18:41:56 +01:00
21f18bd9d7
Reason: ====== undo_space_dblwr test case fails if the first page of undo tablespace is not flushed before restart the server. While restarting the server, InnoDB fails to detect the first page of undo tablespace from doublewrite buffer. Fix: === Use "ib_log_checkpoint_avoid_hard" debug sync point to avoid checkpoint and make sure to flush the dirtied page before killing the server. innodb_make_page_dirty(): Fails to set srv_fil_make_page_dirty_debug variable.
19 lines
800 B
Text
19 lines
800 B
Text
call mtr.add_suppression("Checksum mismatch in the first page of file");
|
|
show variables like 'innodb_doublewrite';
|
|
Variable_name Value
|
|
innodb_doublewrite ON
|
|
create table t1(f1 int not null, f2 int not null)engine=innodb;
|
|
insert into t1 values (1, 1);
|
|
SET GLOBAL innodb_fast_shutdown = 0;
|
|
# restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0
|
|
# Make the first page dirty for undo tablespace
|
|
set global innodb_saved_page_number_debug = 0;
|
|
set global innodb_fil_make_page_dirty_debug = 1;
|
|
SET GLOBAL innodb_buf_flush_list_now = 1;
|
|
# Kill the server
|
|
# restart: --debug_dbug=+d,ib_log_checkpoint_avoid_hard --innodb_flush_sync=0
|
|
FOUND 1 /Checksum mismatch in the first page of file/ in mysqld.1.err
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
drop table t1;
|