【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
备份一张表t得到备份集s,然后对表t中的数据做一定修改,再用s对表t进行恢复将导致失败。但是若将数据库中的表t删除,那么将可以用备份集s将表t进行恢复。
【遇到的问题:问题现象及影响】
TiDB数据库中进行表的覆盖恢复失败,具体报错信息如下:
[2024/11/19 09:33:15.598 +00:00] [ERROR] [restore.go:64] [“failed to restore”] [error=“failed to validate checksum: [BR:Restore:ErrRestoreChecksumMismatch]restore checksum mismatch”] [errorVerbose=“[BR:Restore:ErrRestoreChecksumMismatch]restore checksum mismatch\nfailed to validate checksum\ngithub.com/pingcap/tidb/br/pkg/restore.(*Client).execChecksum\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/restore/client.go:1742\ngithub.com/pingcap/tidb/br/pkg/restore.(*Client).GoValidateChecksum.func2.2\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/restore/client.go:1655\ngithub.com/pingcap/tidb/br/pkg/utils.(*WorkerPool).ApplyOnErrorGroup.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/utils/worker.go:76\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1598”] [stack=“main.runRestoreCommand\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/restore.go:64\nmain.newTableRestoreCommand.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/restore.go:196\ngithub.com/spf13/cobra.(*Command).execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:916\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:1044\ngithub.com/spf13/cobra.(*Command).Execute\n\t/go/pkg/mod/github.com/spf13/cobra@v1.6.1/command.go:968\nmain.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/main.go:58\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250”]
[2024/11/19 09:33:15.598 +00:00] [ERROR] [main.go:60] [“br failed”] [error=“failed to validate checksum: [BR:Restore:ErrRestoreChecksumMismatch]restore checksum mismatch”] [errorVerbose=“[BR:Restore:ErrRestoreChecksumMismatch]restore checksum mismatch\nfailed to validate checksum\ngithub.com/pingcap/tidb/br/pkg/restore.(*Client).execChecksum\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/restore/client.go:1742\ngithub.com/pingcap/tidb/br/pkg/restore.(*Client).GoValidateChecksum.func2.2\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/restore/client.go:1655\ngithub.com/pingcap/tidb/br/pkg/utils.(*WorkerPool).ApplyOnErrorGroup.func1\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/pkg/utils/worker.go:76\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\t/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1598”] [stack=“main.main\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/br/br/cmd/br/main.go:60\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250”]
官方文档中只是说明了不支持集群粒度的覆盖恢复,并未说明不允许进行表粒度的覆盖恢复,请问这个是合理的现象吗?
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】