Solr 9 スタンドアロンモードで、ShardHandlerFactoryが定義されているときにnullPointerExceptionが発生します
(The bot translated the original post https://lists.apache.org/thread/z02wj3n1m7pgw9t3d2lj9xdoh4lzsjh2 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)
こんにちは皆さん、
私たちはSolrを8.11から9.0にアップグレードする過程にいます。CIテストのためにイメージをアップグレードしている際(つまり、Solrはスタンドアロンモードで実行されています)、solrconfig.xmlファイルの任意のハンドラに対して「shardHandlerFactory」が定義されているときに、Solrが「NullPointerException」エラーでコアの作成に失敗することに気付きました。
solrconfig.xmlのスニペット:
<requestHandler name="/select" class="solr.SearchHandler" default="true">
…..
<shardHandlerFactory name="shardHandlerFactory" class="HttpShardHandlerFactory">
<int name="socketTimeout">${socketTimeout:800}</int>
<int name="connTimeout">${connTimeout:500}</int>
</shardHandlerFactory>
</requestHandler>
NullPointerExceptionのスニペット(完全なテキストはこちら: https://justpaste.it/5lntq):
olxeu-atlas-web-dist-solr-1 | Caused by: java.lang.NullPointerException
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.handler.component.HttpShardHandlerFactory.setSecurityBuilder(HttpShardHandlerFactory.java:299) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.handler.component.SearchHandler.inform(SearchHandler.java:185) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:722) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:1155) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.core.SolrCore.<init>(SolrCore.java:1048) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1560) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at org.apache.solr.core.CoreContainer.lambda$load$10(CoreContainer.java:950) ~[?:?]
olxeu-atlas-web-dist-solr-1 | at com.codahale.metrics.InstrumentedExecutorService$InstrumentedCallable.call(InstrumentedExecutorService.java:202) ~[metrics-core-4.1.5.jar:4.1.5]
手順:
- Dockerでlibrary/solr:9.0.0を実行します(デフォルト設定、調整なし);shardHandlerFactoryとschema.xmlを含むsolrconfig.xmlをマウントします。
- solrconfig.xmlを使用してコアを作成します:http://localhost:8983/solr/admin/cores?action=CREATE&name=test&instanceDir=/var/solr/data/test&config=solrconfig.xml&dataDir=data/
- NullPointerExceptionで失敗します。
- shardHandlerFactoryブロックを削除します。
- 手順2を繰り返します。
- 成功します。
SolrをSolrCloudモードで実行すると正常に動作します。
shardHandlerFactoryがスタンドアロンモードで実行しているときには効果がないのは理解できますが(ノード間のリクエストルーティングがないため)、スタンドアロンモード(つまり、CIテスト中)とクラウドモード(つまり、本番クラスター)の両方でまったく同じsolrconfig.xmlをテストして適用する必要があるシナリオがあります。以前のバージョンのSolrのように無関係な設定を無視するのが予想される動作でしょうか?
この問題に直面した方はいますか?解決するためのアプローチは何でしょうか?おそらく、すでに報告されているバグでしょうか?ありがとうございます。
よろしくお願いします。
Nick Vladiceanu
トピックへ返信するには、ログインが必要です。