dm 因上游修改字段类型报错


为什么字段类型的大小改小了还会提示这个异常?这个不是应该该行总大小大于6M应该提示的错误码?

是6.1.0么?
如果是的话有一个known issue

https://github.com/pingcap/tiflow/issues/6161#issuecomment-1173427105

单行数据不能超过6M我知道是会报错,但我这个是修改字段类型,不是写入超长字段,这报错有点奇怪

不清楚版本,有两个怀疑的方向,一个是tidb的有损变更可能还不支持,另一个是下游tidb中存在数据超过这个长度的数据,可以在下游执行下这个语句,看看有什么报错

我查过了,下游没有超过这个长度的数据,

在下游执行这个变更语句是会正常执行么,还是会有报错

不行,最长的数据也没超过这个大小,

奇怪的是,有的表能修改成功

应该就是长度超了,你可以计算下长度,你这是max(),不是max(length()),max(我理解就是根据ascii做的排序,不是根据长度做的排序),你用max(length())看下最长是多少

没有超过阈值,还有这个字符串这么短,怎么长度这么长?

那你这块在tidb执行ddl的报错是什么,方便提供下么
报错+tidb执行时候的日志,tikv执行时候的日志


tidb日志

tikv好像没有提示

哦哦,那大概了解了,应该是事务中的单行数据超过了,你可以临时改下这个参数 txn-entry-size-limit的大小
https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#txn-entry-size-limit-span-classversion-mark从-v50-版本开始引入span

调大到10M或者更大,看是否还会报错

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。