mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
7c7161a1bd
Problem: ======= Mariabackup incremental prepare creates new tablespace when it encounter new tablespace. It sets the intial size as FIL_IBD_FILE_INITIAL_SIZE (4). But while applying redo log, it tries to access 5th page and then it leads to out of tablespace error. Fix: === While parsing the redo log record, track FSP_SIZE in recv_spaces for the respective space id. Assign the recv_size for the tablespace when it is loaded. Extend the tablespace depends on recv_size while applying the redo log record.
32 lines
1,019 B
Text
32 lines
1,019 B
Text
call mtr.add_suppression("InnoDB: New log files created");
|
|
CREATE TABLE t1(i INT) ENGINE INNODB;
|
|
CREATE TABLE t2(i INT PRIMARY KEY) ENGINE INNODB;
|
|
CREATE TABLE t3(i INT) ENGINE INNODB;
|
|
# Create full backup , modify table, then create incremental/differential backup
|
|
create table t4(f1 int not null, f2 int not null)engine=innodb;
|
|
insert into t4 values(1, 2), (2, 2), (3, 3), (5, 5), (6, 6), (4, 4), (9, 9);
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
insert into t4 select * from t4;
|
|
rename table t4 to t7;
|
|
select count(*) from t7;
|
|
count(*)
|
|
7168
|
|
# XTRABACKUP INCREMENTAL
|
|
# XTRABACKUP PREPARE
|
|
# XTRABACKUP INCREMENTAL PREPARE
|
|
# shutdown server
|
|
# remove datadir
|
|
# xtrabackup move back
|
|
# restart server
|
|
select count(*) from t7;
|
|
count(*)
|
|
7168
|
|
drop table t1, t2, t7, t3;
|