entry too large, the max entry size is 6291456

【TiDB 使用环境】生产环境
【TiDB 版本】V4.0.6
应用写入报错:
错误信息:
java.sql.SQLException: entry too large, the max entry size is 6291456, the size of data is 7066384.Error sql:INSERT INTO xxx.xxxx_request_response_message
根据一些资料 改了以下参数,reload+restart后,仍然报错,版本有点旧,请大佬指点。(工具同步数据,只能从TIDB这里入手了)


performance.txn-entry-size-limit这个参数4.0.6竟然没有,有什么办法可以突破吗

看下参数,修改成功了吗

4版本。。帮助都取消了

1 个赞

txn-entry-size-limit 从 v4.0.10 和 v5.0.0 版本开始引入

  • TiDB 单行数据的大小限制
  • 默认值:6291456
  • 单位:Byte
  • 事务中单个 key-value 记录的大小限制。若超出该限制,TiDB 将会返回 entry too large 错误。该配置项的最大值不超过 125829120(表示 120MB)。
  • 从 v7.6.0 开始,你可以使用 tidb_txn_entry_size_limit 系统变量动态修改该配置项的值。
  • 注意,TiKV 有类似的限制。若单个写入请求的数据量大小超出 raft-entry-max-size,默认为 8MB,TiKV 会拒绝处理该请求。当表的一行记录较大时,需要同时修改这两个配置。
  • max_allowed_packet (MySQL 协议的最大数据包大小) 的默认值为 67108864(64 MiB)。如果一行记录的大小超过 max_allowed_packet,该行记录会被截断。
  • txn-total-size-limit(TiDB 单个事务大小限制)的默认值为 100 MiB。如果将 txn-entry-size-limit 的值设置为 100 MiB 以上,需要相应地调大 txn-total-size-limit 的值。

你报错,应该就是这个参数,限制* 默认值:6291456

没有这个参数 所以查不出来
image

是的,但是我这个旧版本 该如何突破 :rofl:

貌似要4.0.10,不行你在线升级下小版本

升级到v4.0.10吧。

好的 谢谢

1、升级 2、业务层面改造。不允许大字段。

3.换版本,迁移数据

旧版本确实很多阻力点。谢谢各位提供的方案~ :heart: