gpt4 book ai didi

java - ElasticSearch Java TransportClient 泄漏字节[]

转载 作者:搜寻专家 更新时间:2023-11-01 03:47:06 26 4
gpt4 key购买 nike

ElasticSearch Java TransportClient 5.5.1 似乎正在泄漏字节数组。即使我只是连接并关闭,注释中间的代码,它也会泄漏。

代码:

try (PreBuiltTransportClient preBuiltTransportClient = new PreBuiltTransportClient(settings)) {
try(TransportClient transportClient=preBuiltTransportClient.addTransportAddress(
new InetSocketTransportAddress(InetAddress.getByName(endPoint),javaPort))){
//do something
}
}

插件加载日志(可能有提示):

Loaded plugins logVisualVM 堆转储显示字节 [] 在堆上分配的大小(在强制垃圾收集之后):

VisualVM

似乎与此处发布的问题相同: https://discuss.elastic.co/t/are-there-memory-leaks-in-elasticsearchs-transportclient-5-4-3-or-is-my-code-flawed/91989/5

不确定是否相关,但我在同一个项目上使用 Spring boot。

有什么想法吗?

编辑:

似乎与压缩有关:

enter image description here

编辑2:

TransportClientNodesService.addTransportAddresses 内存消耗大幅增加

最佳答案

解决方法在这里: https://github.com/elastic/elasticsearch/issues/26048

这不是泄漏,它来自 netty 池分配器。

将 io.netty.allocator.type=unpooled 设置为禁用。

System.setProperty("io.netty.allocator.type", "unpooled");

-Dio.netty.allocator.type=unpooled 

关于java - ElasticSearch Java TransportClient 泄漏字节[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45486310/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com