Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
16.2.0-rc-1
-
Unknown
-
N/A
-
N/A
-
Description
When using remote Solr setup with solr.myxwiki.org I end up with:
Caused by: org.xwiki.component.manager.ComponentLookupException: Failed to lookup component [org.xwiki.search.solr.internal.RemoteSolr] identified by type [interface org.xwiki.search.solr.Solr] and hint [remote] at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:332) at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:320) at org.xwiki.search.solr.internal.DefaultSolr.initialize(DefaultSolr.java:59) ... 36 common frames omitted Caused by: org.xwiki.component.phase.InitializationException: Failed to access the Solr server information at org.xwiki.search.solr.internal.RemoteSolr.initialize(RemoteSolr.java:117) at org.xwiki.component.embed.InitializableLifecycleHandler.handle(InitializableLifecycleHandler.java:39) at org.xwiki.component.embed.EmbeddableComponentManager.createInstance(EmbeddableComponentManager.java:550) at org.xwiki.component.embed.EmbeddableComponentManager.getComponentInstance(EmbeddableComponentManager.java:636) at org.xwiki.component.embed.EmbeddableComponentManager.getInstance(EmbeddableComponentManager.java:329) ... 38 common frames omitted Caused by: org.apache.solr.client.solrj.SolrServerException: IOException occurred when talking to server at: http://solr.myxwiki.org/solr/admin/info/system at org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:550) at org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1192) at org.xwiki.search.solr.internal.RemoteSolr.initialize(RemoteSolr.java:115) ... 42 common frames omitted Caused by: java.io.IOException: frame_size_error/invalid_frame_length at org.eclipse.jetty.http2.HTTP2Session.toFailure(HTTP2Session.java:633) at org.eclipse.jetty.http2.HTTP2Session$StreamsState.onSessionFailure(HTTP2Session.java:2006) at org.eclipse.jetty.http2.HTTP2Session.onSessionFailure(HTTP2Session.java:578) at org.eclipse.jetty.http2.HTTP2Session.onConnectionFailure(HTTP2Session.java:573) at org.eclipse.jetty.http2.HTTP2Connection.onConnectionFailure(HTTP2Connection.java:303) 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:251) at org.eclipse.jetty.http2.parser.Parser.parseHeader(Parser.java:197) at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:161) at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:350) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produceTask(AdaptiveExecutionStrategy.java:455) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:248) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:193) at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:208) at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:155) at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:450) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.Invocable.invokeNonBlocking(Invocable.java:151) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.invokeAsNonBlocking(AdaptiveExecutionStrategy.java:438) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:380) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.produce(AdaptiveExecutionStrategy.java:193) at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:294) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ... 1 common frames omitted
It seems to suggest that the new Http2SolrClient (the only one which is not deprecated) really only support HTTP2 server (which, I assume, is not the case of a Apache HTTPd proxy in front of Solr on this server, at least not the way it's configured) and is not as dynamic as I hopped (especially since there is no alternative).
Would probably be safer to move back to the deprecated HttpSolrClient one for now.