Tag Archives: Sun

[Solved] Solr8 establishes the cluster node as active, but the query reports an error

Error Messages:

{
    "error": {
        "code": 500,
        "metadata": [
            "error-class",
            "org.apache.solr.common.SolrException",
            "root-error-class",
            "java.io.IOException"
        ],
        "msg": "org.apache.solr.client.solrj.SolrServerException: No live SolrServers available to handle this request:[http://10.17.6.141:8080/solr/collection2_shard2_replica_n5, http://10.17.6.143:8080/solr/collection2_shard2_replica_n4, http://10.17.6.141:8080/solr/collection2_shard1_replica_n1]",
        "trace": "org.apache.solr.common.SolrException: org.apache.solr.client.solrj.SolrServerException: No live SolrServers available to handle this request:[http://10.17.6.141:8080/solr/collection2_shard2_replica_n5, http://10.17.6.143:8080/solr/collection2_shard2_replica_n4, http://10.17.6.141:8080/solr/collection2_shard1_replica_n1]
    at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:412)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:2566)
    at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:756)
    at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:542)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:397)
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:343)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1152)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.solr.client.solrj.SolrServerException: No live SolrServers available to handle this request:[http://10.17.6.141:8080/solr/collection2_shard2_replica_n5, http://10.17.6.143:8080/solr/collection2_shard2_replica_n4, http://10.17.6.141:8080/solr/collection2_shard1_replica_n1]
    at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:345)
    at org.apache.solr.handler.component.HttpShardHandlerFactory.makeLoadBalancedRequest(HttpShardHandlerFactory.java:308)
    at org.apache.solr.handler.component.HttpShardHandler.lambda$submit$0(HttpShardHandler.java:190)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at com.codahale.metrics.InstrumentedExecutorService$InstrumentedRunnable.run(InstrumentedExecutorService.java:181)
    at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:209)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more
Caused by: org.apache.solr.client.solrj.SolrServerException: IOException occured when talking to server at: null
    at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:416)
    at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:739)
    at org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:368)
    at org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:296)
    ... 10 more
Caused by: java.io.IOException: 6/invalid_frame_length
    at org.eclipse.jetty.http2.HTTP2Session.onConnectionFailure(HTTP2Session.java:540)
    at org.eclipse.jetty.http2.HTTP2Session.onConnectionFailure(HTTP2Session.java:535)
    at org.eclipse.jetty.http2.parser.Parser$Listener$Wrapper.onConnectionFailure(Parser.java:410)
    at org.eclipse.jetty.http2.HTTP2Connection$ParserListener.onConnectionFailure(HTTP2Connection.java:374)
    at org.eclipse.jetty.http2.parser.BodyParser.notifyConnectionFailure(BodyParser.java:218)
    at org.eclipse.jetty.http2.parser.BodyParser.connectionFailure(BodyParser.java:210)
    at org.eclipse.jetty.http2.parser.Parser.connectionFailure(Parser.java:205)
    at org.eclipse.jetty.http2.parser.Parser.parseHeader(Parser.java:151)
    at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:117)
    at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:252)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:357)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:181)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
    at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:171)
    at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:126)
    at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:338)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
    at org.eclipse.jetty.util.thread.Invocable.invokeNonBlocking(Invocable.java:68)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.invokeTask(EatWhatYouKill.java:345)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:300)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:132)
    ... 4 more
"
    },
    "responseHeader": {
        "QTime": 44,
        "params": {
            "_": "1585620400234",
            "q": "*:*"
        },
        "status": 500,
        "zkConnected": true
    }
}

 

Solution:
solr8 uses the http2 protocol.
JAVA_OPTS add -Dsolr.http1=true to it and it will work.