summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Lesin <vlad_lesin@mail.ru>2022-03-30 19:27:44 +0300
committerVlad Lesin <vlad_lesin@mail.ru>2022-03-30 19:42:35 +0300
commitc1ab0e6fc6b390965e03867bd010b58b1c5cf29e (patch)
treed7de5775ad8d4d84b9feaeea5808a2c489c88fc4
parent35425cfc55b461176f3e1c60d0435595b772ff3a (diff)
downloadmariadb-git-c1ab0e6fc6b390965e03867bd010b58b1c5cf29e.tar.gz
MDEV-27343 Useless warning "InnoDB: Allocated tablespace ID <id> for <tablename>, old maximum was 0" during backup stage
mariabackup does not load dictionary during backup, but it loads tablespaces, that is why fil_system.max_assigned_id is not set with dict_check_tablespaces_and_store_max_id(). There is no sense to issue the warning during backup.
-rw-r--r--mysql-test/suite/mariabackup/full_backup.result1
-rw-r--r--mysql-test/suite/mariabackup/full_backup.test9
-rw-r--r--storage/innobase/fil/fil0fil.cc10
3 files changed, 15 insertions, 5 deletions
diff --git a/mysql-test/suite/mariabackup/full_backup.result b/mysql-test/suite/mariabackup/full_backup.result
index c387f5328a7..954151bbad7 100644
--- a/mysql-test/suite/mariabackup/full_backup.result
+++ b/mysql-test/suite/mariabackup/full_backup.result
@@ -1,6 +1,7 @@
CREATE TABLE t(i INT) ENGINE INNODB;
INSERT INTO t VALUES(1);
# xtrabackup backup
+NOT FOUND /InnoDB: Allocated tablespace ID/ in backup.log
INSERT INTO t VALUES(2);
# xtrabackup prepare
# shutdown server
diff --git a/mysql-test/suite/mariabackup/full_backup.test b/mysql-test/suite/mariabackup/full_backup.test
index d1d2ea21c08..66bed34cf3d 100644
--- a/mysql-test/suite/mariabackup/full_backup.test
+++ b/mysql-test/suite/mariabackup/full_backup.test
@@ -4,11 +4,18 @@ CREATE TABLE t(i INT) ENGINE INNODB;
INSERT INTO t VALUES(1);
echo # xtrabackup backup;
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
+--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
--disable_result_log
-exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir;
+exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir > $backup_log 2>&1;
--enable_result_log
+# The following warning must not appear after MDEV-27343 fix
+--let SEARCH_PATTERN=InnoDB: Allocated tablespace ID
+--let SEARCH_FILE=$backup_log
+--source include/search_pattern_in_file.inc
+--remove_file $backup_log
+
INSERT INTO t VALUES(2);
diff --git a/storage/innobase/fil/fil0fil.cc b/storage/innobase/fil/fil0fil.cc
index 6980078f87d..f65a7428482 100644
--- a/storage/innobase/fil/fil0fil.cc
+++ b/storage/innobase/fil/fil0fil.cc
@@ -1418,10 +1418,12 @@ fil_space_create(
if (!fil_system->space_id_reuse_warned) {
fil_system->space_id_reuse_warned = true;
-
- ib::warn() << "Allocated tablespace ID " << id
- << " for " << name << ", old maximum was "
- << fil_system->max_assigned_id;
+ if (srv_operation != SRV_OPERATION_BACKUP) {
+ ib::warn() << "Allocated tablespace ID " << id
+ << " for " << name
+ << ", old maximum was "
+ << fil_system->max_assigned_id;
+ }
}
fil_system->max_assigned_id = id;