Elasticsearch升级至8.15.1后High Level Rest Client出现协议异常求助
Elasticsearch 8.15.1升级后High Level Rest Client偶发ProtocolException问题
我们近期将开发环境的Elasticsearch集群从8.6.2版本升级至8.15.1版本,使用的是开启apiCompatibilityMode=true的High Level Rest Client。升级后出现偶发性500错误,升级前未出现该问题,且此前同样设置了apiCompatibilityMode=true。
错误发生时,日志中抛出的异常如下:
org.apache.http.ProtocolException: Not a valid protocol version: 0* at org.apache.http.impl.nio.codecs.AbstractMessageParser.parse(AbstractMessageParser.java:209) at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:245) at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81) at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39) at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:121) at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337) at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315) at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276) at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: org.apache.http.ParseException: Not a valid protocol version: 0 at org.apache.http.message.BasicLineParser.parseProtocolVersion(BasicLineParser.java:134) at org.apache.http.message.BasicLineParser.parseStatusLine(BasicLineParser.java:366) at org.apache.http.impl.nio.codecs.DefaultHttpResponseParser.createMessage(DefaultHttpResponseParser.java:112) at org.apache.http.impl.nio.codecs.DefaultHttpResponseParser.createMessage(DefaultHttpResponseParser.java:50) at org.apache.http.impl.nio.codecs.AbstractMessageParser.parseHeadLine(AbstractMessageParser.java:156) at org.apache.http.impl.nio.codecs.AbstractMessageParser.parse(AbstractMessageParser.java:207)
已做排查
- 开启Elasticsearch客户端及Apache的TRACE级别日志,未找到问题触发机制
- 无法通过curl或Kibana复现该偶发错误
- 尝试调整Http Client的多项配置,未能稳定开发环境
临时规避方案(不希望采用)
通过setHttpClientConfigCallback将RestClientBuilder的ConnectionReuseStrategy设置为NoConnectionReuseStrategy时,该ProtocolException不再出现,但此方案会禁用连接复用,影响性能。
求助:是否有其他人遇到过此类问题?有哪些可行的解决建议?
内容的提问来源于stack exchange,提问作者Jay Kadambi
相关产品推荐
相关产品推荐

