表里有longtext字段,全量同步数据到tidb时报错
由于历史原因,mysql的表里有longtext字段,字段里面存放了大量的数据,类似如下图,这个字段数据大概有30k

同步的时候报错了,报错如下图,只有这一个报错信息,打印出来的是同步的数据,看不出来具体报错信息,前面的日志都是正常的

再找找具体的报错?这样看不出什么。longtext 本身是支持的。 实在不行改一下打日志的代码
没有具体的报错。前面的日志都是正常的日志,就是这个字段的内容太多了,字段内容超过30k 基本就会出问题。longtext字段里面如果内容较少也不会出问题。
报错不在前面,就是很长的那条里面,不确定有没有被你们的 ELK 截断。把报错那行截全了看看?
或者人工/写脚本执行一个同样的 sql 看看报错?这种基本上是碰到 tidb 的什么限制了。
改代码的话在这里
是截断了,到后台截了最后几行的报错信息,前面全是数据,数据太大了,截不全。
人工脚本到tidb执行没有问题的。 gravity 同步的时候,不停的pause resume尝试,这些报错的数据有会同步过去。然后到下一条超大的数据,又不可以了
方便改代码吗?把 pkg/sql_execution_engine/internal_txn_tagger.go:51 从
return errors.Annotatef(err, "query: %v, args: %v", query, args)
改成
return errors.Annotatef(err, "query: %v", query)
@selectliu 有复现? 是否达到TiDB如下限制: 单个事务包含的SQL语句不超过5000条 操作的单条记录不超过 6MB 事务操作的总keys不超过 30w 事务操作的所有记录总大小不超过 100MB 另外看一下,如果将下游的batch-size修改小一点,是否可以正常worker