java.sql.SQLException: txn too large, size: 104857606 replace into selet 报这个错是怎么回事?
1 个赞
事务太大了,参考下这个帖子,可能和你的情况类似
1 个赞
有没有修改事务大小命令啥的?应应急
编辑配置:
tiup cluster edit-config cluster-name
修改配置内容:
server_configs:
tidb:
performance.txn-total-size-limit: 10737418240 #新增这条,将单个事务大小上限加到10G
重新加载tidb server节点:
tiup cluster reload cluster-name -R tidb
先看看,仅供参考哈。
3 个赞
事务过大, 之前有个帖子翻翻
1 个赞
txn-total-size-limit
- TiDB 单个事务大小限制
- 默认值:104857600
- 单位:Byte
- 单个事务中,所有 key-value 记录的总大小不能超过该限制。该配置项的最大值不超过
1099511627776
(表示 1TB)。注意,如果使用了以Kafka
为下游消费者的binlog
,如:arbiter
集群,该配置项的值不能超过1073741824
(表示 1GB),因为这是Kafka
的处理单条消息的最大限制,超过该限制Kafka
将会报错。
3 个赞
现在 txn-total-size-limit
是多大?
3 个赞
由于底层存储引擎的限制,TiDB 要求单行不超过 6 MB。可以将一行的所有列根据类型转换为字节数并加和来估算单行大小。
TiDB 同时支持乐观事务与悲观事务,其中乐观事务是悲观事务的基础。由于乐观事务是先将修改缓存在私有内存中,因此,TiDB 对于单个事务的容量做了限制。
TiDB 中,单个事务的总大小默认不超过 100 MB,这个默认值可以通过配置文件中的配置项 txn-total-size-limit
进行修改,最大支持 10 GB。单个事务的实际大小限制还取决于服务器剩余可用内存的大小,执行事务时 TiDB 进程的内存消耗相对于事务大小会存在一定程度的放大,最大可能达到提交事务大小的 6 倍以上。
在 4.0 以前的版本,TiDB 限制了单个事务的键值对的总数量不超过 30 万条,从 4.0 版本起 TiDB 取消了这项限制。
1 个赞
官网给的建议
1 个赞
已经设到10G了吗?
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。