我们正在使用 JestClient 连接到弹性搜索。(io.searchbox.client.JestClient)。并使用 executeAsync 方法写入弹性搜索。我们在不同的环境中部署了相同的代码,例如开发、测试、..prod。
在具有标称负载的 Dev 上,我们观察到间歇性异常如下:
org.apache.http.ConnectionClosedException: Connection closed
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.endOfInput(HttpAsyncRequestExecutor.java:341)
在舞台上和负载很重的产品上,我们观察到异常为:
java.net.SocketTimeoutException: null
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.timeout(HttpAsyncRequestExecutor.java:371)
但我们没有看到任何数据丢失。一切都正确持久。其中一篇博客说超时异常是 apache asynch http 客户端中的错误
https://github.com/elastic/elasticsearch/issues/24069
这个对吗?我们有什么解决方案吗?
关于 SocketTimeouException 的任何提示?
弹性搜索版本是 2.4.4