Closed hu177 closed 3 years ago
导出 TiDB 是有重试机制的,重试单位是一个 chunk(如果 TiDB 版本 >= 3.0 一个 chunk 是一个 region 的大小,最大 100MB 左右)。断点续传目前还没有
导出 TiDB 是有重试机制的,重试单位是一个 chunk(如果 TiDB 版本 >= 3.0 一个 chunk 是一个 region 的大小,最大 100MB 左右)。断点续传目前还没有
请问是设置的参数有问题么 我的重试都是从开头开始重试的
请问是设置的参数有问题么 我的重试都是从开头开始重试的
TiDB 版本和 dumpling 版本各自是多少呢?
TiDB 版本和 dumpling 版本各自是多少呢? TiDB v4.0.9 dumpling是Master分支的
TiDB v4.0.9 dumpling是Master分支的
从头开始重试是说整个表重试还是整个数据块重试呢?
TiDB v4.0.9 dumpling是Master分支的
从头开始重试是说整个表重试还是整个数据块重试呢?
整个表数据都重试了
solution:
Use newest dumpling, specify -r
and -T
argument instead of --sql
argument.
每次dump表中的数据大小都超过100G,使用10次会报出2-3次的invalid connection错误, 使用命令如下: dumpling --filetype csv \ --tidb-mem-quota-query 838860800 \ -t 1 \ -r 2000000 \ -F 256MiB \ --sql 'select * from
database.
table`' \ --params "tidb_distsql_scan_concurrency=3"详细日志如下:
[2021/08/31 15:26:06.335 +08:00] [WARN] [writer_util.go:325] ["fail to dumping table(chunk), will revert some metrics now"] [error="invalid connection"] [errorVerbose="invalid connection\ngithub.com/pingcap/errors.AddStack\n\t/root/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/errors.go:174\ngithub.com/pingcap/errors.Trace\n\t/root/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20201126102027-b0a155152ca3/juju_adaptor.go:15\ngithub.com/pingcap/dumpling/v4/export.(*rowIter).Error\n\t/root/dumpling/v4/export/ir_impl.go:42\ngithub.com/pingcap/dumpling/v4/export.WriteInsertInCsv\n\t/root/dumpling/v4/export/writer_util.go:409\ngithub.com/pingcap/dumpling/v4/export.FileFormat.WriteInsert\n\t/root/dumpling/v4/export/writer_util.go:643\ngithub.com/pingcap/dumpling/v4/export.(*Writer).tryToWriteTableData\n\t/root/dumpling/v4/export/writer.go:217\ngithub.com/pingcap/dumpling/v4/export.(*Writer).WriteTableData.func1\n\t/root/dumpling/v4/export/writer.go:200\ngithub.com/pingcap/br/pkg/utils.WithRetry\n\t/root/go/pkg/mod/github.com/hu177/br@v1.3.3/pkg/utils/retry.go:46\ngithub.com/pingcap/dumpling/v4/export.(*Writer).WriteTableData\n\t/root/dumpling/v4/export/writer.go:161\ngithub.com/pingcap/dumpling/v4/export.(*Writer).handleTask\n\t/root/dumpling/v4/export/writer.go:103\ngithub.com/pingcap/dumpling/v4/export.(*Writer).run\n\t/root/dumpling/v4/export/writer.go:85\ngithub.com/pingcap/dumpling/v4/export.(*Dumper).startWriters.func4\n\t/root/dumpling/v4/export/dump.go:282\ngolang.org/x/sync/errgroup.(*Group).Go.func1\n\t/root/go/pkg/mod/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c/errgroup/errgroup.go:57\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1371"] [database=] [table=] ["finished rows"=917767] ["finished size"=189060013]
有情况是写到中途,出现该错误,经过重试机制后,会重新开始dump过程,请问是否有断点续传的机制,可以不用全部重新开始dump,因为使用的场景经常是100G-1TB的dump