mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	Test innodb_read_only startup (which will be refused after a crash), and test also innodb_force_recovery=5, and extract some change buffer merge statistics. Omit any statistics about delete (purge) buffering, because purge could happen at any time. Use the sequence storage engine for populating the table.
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Bug#69122 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE
 | |
| #             OPERATION IF IT IS DONE IN-PLACE
 | |
| #
 | |
| call mtr.add_suppression("InnoDB: innodb_read_only prevents crash recovery");
 | |
| call mtr.add_suppression("Plugin initialization aborted at srv0start\\.cc");
 | |
| call mtr.add_suppression("Plugin 'InnoDB'");
 | |
| FLUSH TABLES;
 | |
| CREATE TABLE t1(
 | |
| a INT AUTO_INCREMENT PRIMARY KEY,
 | |
| b CHAR(1),
 | |
| c INT,
 | |
| INDEX(b))
 | |
| ENGINE=InnoDB STATS_PERSISTENT=0;
 | |
| SET GLOBAL innodb_change_buffering_debug = 1;
 | |
| INSERT INTO t1 SELECT 0,'x',1 FROM seq_1_to_8192;
 | |
| BEGIN;
 | |
| SELECT b FROM t1 LIMIT 3;
 | |
| b
 | |
| x
 | |
| x
 | |
| x
 | |
| connect  con1,localhost,root,,;
 | |
| BEGIN;
 | |
| DELETE FROM t1 WHERE a=1;
 | |
| INSERT INTO t1 VALUES(1,'X',1);
 | |
| SET DEBUG_DBUG='+d,crash_after_log_ibuf_upd_inplace';
 | |
| SELECT b FROM t1 LIMIT 3;
 | |
| ERROR HY000: Lost connection to MySQL server during query
 | |
| disconnect con1;
 | |
| connection default;
 | |
| FOUND 1 /Wrote log record for ibuf update in place operation/ in mysqld.1.err
 | |
| CHECK TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	Error	Unknown storage engine 'InnoDB'
 | |
| test.t1	check	error	Corrupt
 | |
| FOUND 1 /innodb_read_only prevents crash recovery/ in mysqld.1.err
 | |
| SELECT * FROM t1 LIMIT 1;
 | |
| a	b	c
 | |
| 1	X	1
 | |
| SHOW ENGINE INNODB STATUS;
 | |
| Type	Name	Status
 | |
| InnoDB		insert 0, delete mark 0
 | |
| SET GLOBAL innodb_fast_shutdown=0;
 | |
| CHECK TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| SHOW ENGINE INNODB STATUS;
 | |
| Type	Name	Status
 | |
| InnoDB		insert 79, delete mark 1
 | |
| DROP TABLE t1;
 |