一个查询语句报错Packet is too large to send

【 TiDB 使用环境】生产环境
【 TiDB 版本】v7.1.1
【复现路径】一个查询语句
【遇到的问题:问题现象及影响】查询时,报错:ERROR 1105 (HY000): other error for mpp stream: From MPP<query:<query_ts:1717471917932626263, local_query_id:4185, server_id:3116552, start_ts:450224958435753985>,task_id:3>: Code: 49, e.displayText() = DB::Exception: Check size < max_packet_size failed: Packet is too large to send, size : 2183771461, e.what() = DB::Exception,
没有搜索到类似报错,大多数是说插入异常的,这个查询看起来是受到限制了,但是没找到相关参数配置。
配置了最大查询使用内存限制为5G。
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面

【附件:截图/日志/监控】

这个max_packet_size是没有办法配置的,是个写死的值。固定等于2^31=2,147,483,648.
你当前要发送的size是2,183,771,461.确实超过了。

这个包为什么会超过2g呢。非常奇怪。

2 个赞

参考这个看看
image

2 个赞

我很好奇一个查询结果是2个G,得传输多久啊,哪个用户会等。
如果是返回到浏览器显示,浏览器不是直接崩溃了

关闭MPP就不报错了

2 个赞

:thinking:应该还是扫描某个大表导致的。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。