mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	Similar to what was done in commit aa3f7a107c
for FULLTEXT INDEX, we must ensure that MLOG_INDEX_LOAD records will always
be written if redo logging was disabled.
row_merge_build_indexes(): Invoke row_merge_write_redo() also when
online operation is not being executed or an error occurs.
In case of an error, invoke flush_observer->interrupted() so that
the pages will not be flushed but merely evicted from the buffer pool.
Before resuming redo logging, it is crucial for the correctness of
mariabackup and InnoDB crash recovery to flush or evict all affected pages
and to write MLOG_INDEX_LOAD records.
		
	
		
			
				
	
	
		
			19 lines
		
	
	
		
			622 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			622 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # Bug#21801423 INNODB REDO LOG DOES NOT INDICATE WHEN
 | |
| # FILES ARE CREATED
 | |
| #
 | |
| # Bug#21796691 INNODB REDO LOG DOES NOT INDICATE WHEN
 | |
| # REDO LOGGING IS SKIPPED
 | |
| #
 | |
| CREATE TABLE t1 (a INT NOT NULL, b INT UNIQUE) ENGINE=InnoDB;
 | |
| INSERT INTO t1 VALUES (1,2);
 | |
| ALTER TABLE t1 ADD PRIMARY KEY(a), LOCK=SHARED, ALGORITHM=INPLACE;
 | |
| ALTER TABLE t1 DROP INDEX b, ADD INDEX (b), LOCK=SHARED;
 | |
| # Kill the server
 | |
| FOUND 2 /scan \d+: multi-log rec MLOG_FILE_CREATE2 len \d+ page \d+:0/ in mysqld.1.err
 | |
| FOUND 3 /scan \d+: log rec MLOG_INDEX_LOAD/ in mysqld.1.err
 | |
| CHECK TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| DROP TABLE t1;
 |