查询执行的OOM

问题描述 投票:0回答:1

当我们运行大量 SQL 查询时,就会遇到 OOM。我们正在使用 Apache Ignite 2.15。非常标准的查询代码,如下所示,

SqlFieldsQuery sqlQuery = new SqlFieldsQuery(query);
if (args != null) {
    sqlQuery.setArgs(args);
}
FieldsQueryCursor<List<?>> cursor = cache.query(sqlQuery);

进行堆分析表明,“org.apache.ignite.internal.processors.query.RunningQueryManager”具有一个维护所有正在运行的查询的引用的映射。但似乎没有清理地图后查询执行。

在尝试进一步查找时,我们发现了对同一问题的引用,但没有任何活动,

https://issues.apache.org/jira/browse/IGNITE-13130

Apache Ignite:点燃堆中占用过多内存的堆上缓存。导致应用程序抛出OutOfMemory异常

任何帮助表示赞赏。

ignite gridgain distributed-caching apacheignite
1个回答
0
投票

在我创建重现器时进一步调试它。发现对未关闭的光标的深层隐藏引用。关闭该参考后,此问题已解决。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.