【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
没有这个参数 所以查不出来
是的,但是我这个旧版本 该如何突破
貌似要4.0.10,不行你在线升级下小版本
好的 谢谢
1、升级 2、业务层面改造。不允许大字段。
3.换版本,迁移数据
旧版本确实很多阻力点。谢谢各位提供的方案~