Bug 反馈
清晰准确地描述您发现的问题,提供任何可能复现问题的步骤有助于研发同学及时处理问题
【 TiDB 版本】7.1.3
【 Bug 的影响】
PITR恢复指定库表时进行point恢复时,恢复的结果有误
【可能的问题复现步骤】
- 集群1创建日志备份任务
- 对集群1进行s3全量备份
- 在集群1中创建库表,插入数据
create database test1;
create database test2;
create table test.t1(id int primary key);
create table test.t21(id int primary key);
create table test1.t1(id int primary key);
create table test1.t2(id int primary key);
create table test2.t1(id int primary key);
create table test1.t2(id int primary key);
insert into test.t1 values(1),(2);
insert into test.t2 values(1),(2);
insert into test1.t1 values(1),(2);
insert into test1.t2 values(1),(2);
insert into test2.t1 values(1),(2);
insert into test2.t2 values(1),(2); - 待日志备份进度推进到当前时间,进行pitr到集群2,并通过–filter参数设置库表过滤
查看当前checkpoint:
tiup br log status --task-name={task_name} --pd “{pd_addr]” --json
执行恢复命令,并设置–filter为“test.t1”
tiup br restore point --pd “{pd_addr}” --storage=‘{s3_url}’ --full-backup-storage=‘{full_backup_s3_url}’ --restored-ts ‘{chekcpoint}’ --filter “test.t1” --s3.endpoint {s3_enpoint} - 查看集群2的恢复情况
【看到的非预期行为】
- 集群2内test1,test2内所有的库表结构都被恢复出来,但是无数据
- 集群2内test内没有任何表
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| INFORMATION_SCHEMA |
| METRICS_SCHEMA |
| PERFORMANCE_SCHEMA |
| mysql |
| test |
| test1 |
| test2 |
±-------------------+
7 rows in set (0.01 sec)
mysql> use test;
Database changed
mysql> show tables;
Empty set (0.01 sec)
mysql> use test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
±----------------+
| Tables_in_test1 |
±----------------+
| t1 |
| t2 |
±----------------+
2 rows in set (0.00 sec)
mysql> select * from t1;
Empty set (0.00 sec)
mysql> select * from t2;
Empty set (0.00 sec)
mysql> use test2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
±----------------+
| Tables_in_test2 |
±----------------+
| t1 |
| t2 |
±----------------+
2 rows in set (0.00 sec)
mysql> select * from t1;
Empty set (0.01 sec)
mysql> select * from t2;
Empty set (0.00 sec)
【期望看到的行为】
只有test.t1库被恢复到集群2
【相关组件及具体版本】
7.1.3
【其他背景信息或者截图】
如集群拓扑,系统和内核版本,应用 app 信息等;如果问题跟 SQL 有关,请提供 SQL 语句和相关表的 Schema 信息;如果节点日志存在关键报错,请提供相关节点的日志内容或文件;如果一些业务敏感信息不便提供,请留下联系方式,我们与您私下沟通。