【已解决】查询时报错:work load group memory exceeded limit

Viewed 100

进行一个稍微复杂一点的查询,发生报错:

work load group memory exceeded limit

详细信息:

errCode = 2, detailMessage = (...)[CANCELLED]work load group memory exceeded limit, group id:1, name:normal, used:8.82 GB, limit:8.42 GB, backend:.... cancel top memory used tracker <Query#Id=b3e58d39a1d44d38-88991586c8e10e05> consumption 8.82 GB. execute again after enough memory, details see be.INFO.

系统的exec_mem_limit原来是2G,改成16G了,还是显示这个问题

查了半天,似乎是Doris2.1.2自带了一个Work load group功能,找到了语句看,好像默认创建了一个workgroup,然后内存限制给了30%。目前不知道这个8.42G的limit是从何而来,是workgroup的设置么?怎么调整这个设置呢?

image.png

1 Answers

这个问题,在2.1.3 fix了


报错原因在于 Doris 会默认创建一个设置 30% 内存上限的 wg,而我们的 gc 机制就是按照 30% 的内存来cancel query的,所以导致有问题。

在 2.1.3 里,cancel query 的默认行为已更改:只有当系统内存不足的时候才 cancel。