【详述】
- SQL报错, 报错提示可以调整回话内存设置; 但是没有调整的情况下重新执行SQL, 又没报错
- 执行的SQL并不复杂, 而且数据量在千万级别, 并不多; 已经设置了exec_mem_limit , query_mem_limit到20G了, 还是偶发性报错
- 这个报错(报错信息见附件)的原理是什么? 怎么解决?
【业务影响】 影响很大, 偶发性失败, 运行不稳定
【StarRocks版本】2.3.11
【集群规模】(fe与be混部, 共6台机器)
【机器信息】80CU, 320G /台
【联系方式】13692280056@163.com
【附件】
1.执行的伪SQL
业务SQL-伪.txt (1.8 KB)
2.报错信息
Exception in thread “main” java.sql.SQLSyntaxErrorException: Memory of Fragment de0d778f-f5df-11ed-8516-b4055ddf14dc exceed limit. try consume:2899353600 Used: 20261817440, Limit: 20737418240. Mem usage has exceed the limit of single query, You can change the limit by set session variable exec_mem_limit or query_mem_limit
3.explain信息
explain_sql.txt (77.1 KB)
4.explain costs信息
explain_costs_sql.txt (131.0 KB)
5.建表信息
建表信息.txt (3.2 KB)