BR 备份 checksum 失败导致备份失败

【 TiDB 使用环境】
生产环境

【 TiDB 版本】
v5.4.0

【复现路径】
使用命令备份数据库

br backup full \
  --pd 10.0.7.114:2379 \
  --storage s3://[******]/data_2022-11-21-17-48?access-key=[******]&secret-access-key=[******] \
  --s3.region ap-guangzhou \
  --s3.endpoint http://cos.ap-guangzhou.myqcloud.com \
  --send-credentials-to-tikv=true \
  --ratelimit 128 \
  --log-file /data/[******]/tidb/tidb_br_home/log/data_2022-11-21-17-48_backuptable.log

【遇到的问题:问题现象及影响】
备份失败,错误信息

[2022/11/21 14:57:04.487 +08:00] [ERROR] [global.go:46] ["checksum mismatch"] [db=lucifer-cn] [table=PlayerItems] ["origin tidb crc64"=1126378096669210666] ["calculated crc64"=6933529848215176403] ["origin tidb total kvs"=12480622] ["calculated total kvs"=12480621] ["origin tidb total bytes"=698822936] ["calculated total bytes"=698822898] [stack="github.com/pingcap/log.Error
\t/go/pkg/mod/github.com/pingcap/log@v1.1.1-0.20221015072633-39906604fb81/global.go:46
github.com/pingcap/tidb/br/pkg/checksum.FastChecksum
\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/checksum/validate.go:70
github.com/pingcap/tidb/br/pkg/task.RunBackup
\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/task/backup.go:550
main.runBackupCommand
\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/backup.go:48
main.newFullBackupCommand.func1
\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/backup.go:117
github.com/spf13/cobra.(*Command).execute
\t/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:872
github.com/spf13/cobra.(*Command).ExecuteC
\t/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:990
github.com/spf13/cobra.(*Command).Execute
\t/go/pkg/mod/github.com/spf13/cobra@v1.5.0/command.go:918
main.main
\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/main.go:57
runtime.main
\t/usr/local/go/src/runtime/proc.go:250"]

原集群备份时间点的数据还在吗?
如果在的话,手动执行下 admin checksum lucifer-cn. PlayerItems 看看输出结果是否和 br 日志记录的匹配

因为是生产环境的服务器,数据为了修复已经清理了。

那麻烦发一份完整的 BR 日志吧。

这个报错的意思是备份通过扫描获取了 12480622 个 key, 执行 admin checksum 时获取了 12480621 个 key. 多扫描了一个 key,能确认该表实际应该是多少 key 吗?比如表的行数和索引个数

日志里面还有别的 ERROR 级别的信息吗?(如果有很多的话前几条就应该够了)那几个版本的 BR 有一些比较神奇的问题,可能会在因为其它原因失败的时候打出 Checksum mismatch。

这是备份和恢复过程的日志。

data_2022-11-21-14-52_backuptable.zip (704.0 KB)

备份和恢复日志发布在下面了。

看起来非常奇怪,没有任何其他的 ERROR 日志提示备份失败,那看起来可能是触发了某种边缘状况导致某对 Key Value 无法被正常备份。请问重试备份可以成功吗?

这个问题是不是业务没有停 停了业务备份试试

没有尝试再次备份所以不知道重试是否成功。