memory limit exceeded, please reduce load frequency or increase config

【详述】当新提交的导入作业使导入总内存达到阈值后,所有正在运行的导入作业都会被终止,报memory limit exceeded, please reduce load frequency or increase config的错。
有什么方法可以让导入作业总内存达到阈值后,新提交的导入作业被拒绝或者排入队列中,而不是所有正在运行的导入作业全都报错终止呢?
【导入/导出方式】broker load/stream load/insert into
【背景】无
【业务影响】
【StarRocks版本】2.2.1
【集群规模】3fe+10be(fe与be混部)
【机器信息】40C/120G/万兆
【附件】
在be web界面的config下有找到enable_new_load_on_memory_limit_exceeded这项参数,
image
在starrocks源码里也找到了该参数的使用,当开启该参数时,新增的导入作业会排入队列中。


但给be配置该参数时发现be不支持这项参数,配置后启动be会报错,是不是这参数还没放开使用?
image

您好,最新的2.3 rc01版本支持这个参数,是新加入进去的

您的需求当前没有参数可以满足需求,内存到了就是会全部失败。

可不可以只让新提交的导入作业失败,而不是让当前所有在运行的导入作业全都失败呢?不少导入作业运行了很长的时间,甚至都快导完了,但因为新提交的作业而前功尽弃,这样试错成本太高了。

就像yarn那样,新提交作业后,整个yarn队列资源不足了,但也不是让这个yarn队列里所有在运行的作业全都挂掉,而是让新提交的作业排队,这样才比较合理。

理解您的意思了 这个我回头确认下,如果当前没有替换解决方案的话,这边会反馈给产品,也欢迎您的在github上提个issue

可以发下联系方式吗,我们沟通下这个问题

理论上正在进行的作业并不会失败

我后面看下能不能复现这个问题,当时报这错时,集群里有flink实时导入作业,insert into select作业,broker作业,然后在提交新的导入作业时,前面这三种作业同时报内存超限的错。

2.2支持这个配置了,be.conf enable_new_load_on_memory_limit_exceeded=true

下次出错的时候,把BE的错误日志发下

我现在用的版本是2.3,但be.conf里添加这个参数,启动还是会报之前那个config field error的错

好的,下回错误重现的时候我贴下be报错日志

这个不应该啊。具体的报错发下

刚刚我复现了下这个参数的错误:
be.conf
image
be.conf加了这项参数后,重启be报错:
be.out
image

用的be版本是2.3.0正式版
image
be的webUI里的config下面也能搜到这参数,但就是用不了:
image

我starrocks集群从2.2升级到2.3是用的官方文档里说的滚动升级方式,只替换bin和lib目录,没有替换整个部署目录,不知道和这个有没有关系

enable_new_load_on_memory_limit_exceeded=true

当前写成 1 应该会报错

只是显示的时候,会显示成0或1

噢噢,我改成true试了下可以了,感谢~