1
0
mirror of https://github.com/MariaDB/server.git synced 2026-10-23 18:49:29 +03:00
This commit is contained in:
Marko Mäkelä
2026-10-08 16:22:49 +03:00
parent 1479bb3f74
commit fbf02b2bd3
6 changed files with 64 additions and 41 deletions

View File

@@ -1,20 +1,22 @@
--- backup_innodb.result
+++ backup_innodb,debug.result
@@ -25,8 +25,10 @@
@@ -25,17 +25,48 @@
BEGIN;
DELETE FROM t;
connect backup,localhost,root;
+SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
connect rename,localhost,root;
+connection backup;
+BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
+connection rename;
RENAME TABLE rt TO rtt;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
@@ -34,6 +36,33 @@
disconnect rename;
connection default;
INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE dt;
+disconnect rename;
+connection default;
+INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+SET DEBUG_SYNC='now SIGNAL resume';
+connection backup;
+Got one of the listed errors
@@ -31,16 +33,18 @@
+DELETE FROM t;
+connect backup,localhost,root;
+SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
+BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
+connect rename,localhost,root;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
connection rename;
+RENAME TABLE rt TO rtt;
+CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE dt;
+disconnect rename;
+connection default;
+INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
disconnect rename;
connection default;
INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+SET DEBUG_SYNC='now SIGNAL resume';
connection backup;
disconnect backup;

View File

@@ -25,10 +25,12 @@ ERROR HY000: IO Write error: (...) BACKUP SERVER
BEGIN;
DELETE FROM t;
connect backup,localhost,root;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
connect rename,localhost,root;
RENAME TABLE rt TO rtt;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
connection rename;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
disconnect rename;

View File

@@ -72,6 +72,11 @@ dec $attempts;
if ($have_debug) {
SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
}
--connect rename,localhost,root
if (!$have_debug) {
RENAME TABLE rt TO rtt;
}
--connection backup
--replace_result $target_directory target_directory
send_eval BACKUP SERVER TO '$target_directory' 4 CONCURRENT;
--connection default
@@ -81,8 +86,10 @@ SET DEBUG_SYNC='now WAIT_FOR start';
if ($attempts) {
--move_file $target_directory.empty_file $target_directory/mysql
}
--connect rename,localhost,root
--connection rename
if ($have_debug) {
RENAME TABLE rt TO rtt;
}
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
--disconnect rename

View File

@@ -1,20 +1,22 @@
--- backup_innodb.result
+++ backup_innodb,debug.result
@@ -25,8 +25,10 @@
@@ -25,17 +25,48 @@
BEGIN;
DELETE FROM t;
connect backup,localhost,root;
+SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
connect rename,localhost,root;
+connection backup;
+BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
+connection rename;
RENAME TABLE rt TO rtt;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
@@ -34,6 +36,33 @@
disconnect rename;
connection default;
INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE dt;
+disconnect rename;
+connection default;
+INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+SET DEBUG_SYNC='now SIGNAL resume';
+connection backup;
+Got one of the listed errors
@@ -31,16 +33,18 @@
+DELETE FROM t;
+connect backup,localhost,root;
+SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
+BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
+connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
+connect rename,localhost,root;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
+SET DEBUG_SYNC='now WAIT_FOR start';
connection rename;
+RENAME TABLE rt TO rtt;
+CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
+DROP TABLE dt;
+disconnect rename;
+connection default;
+INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
disconnect rename;
connection default;
INSERT INTO t SELECT seq a, '' b FROM seq_1_to_30000;
+SET DEBUG_SYNC='now SIGNAL resume';
connection backup;
disconnect backup;

View File

@@ -25,10 +25,12 @@ ERROR HY000: IO Write error: (...) BACKUP SERVER
BEGIN;
DELETE FROM t;
connect backup,localhost,root;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
connect rename,localhost,root;
RENAME TABLE rt TO rtt;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
connection rename;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
disconnect rename;

View File

@@ -26,10 +26,12 @@ BEGIN;
DELETE FROM t;
connect backup,localhost,root;
SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
connect rename,localhost,root;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
SET DEBUG_SYNC='now WAIT_FOR start';
connect rename,localhost,root;
connection rename;
RENAME TABLE rt TO rtt;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;
@@ -52,10 +54,12 @@ BEGIN;
DELETE FROM t;
connect backup,localhost,root;
SET DEBUG_SYNC='innodb_backup_start SIGNAL start WAIT_FOR resume';
connect rename,localhost,root;
connection backup;
BACKUP SERVER TO 'target_directory' 4 CONCURRENT;
connection default;
SET DEBUG_SYNC='now WAIT_FOR start';
connect rename,localhost,root;
connection rename;
RENAME TABLE rt TO rtt;
CREATE TABLE rt(a INT PRIMARY KEY) ENGINE=InnoDB;
DROP TABLE dt;