「this.authenticationStore」が9.7.0へのアップデート後にnullになる

トピック作成者:ks-solruserml-bot (2024/12/28 18:42 投稿)
7
OpenOpen

(The bot translated the original post https://lists.apache.org/thread/jhs7lkg942nxg2hlb879k6tc832yhm06 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

SolrCloudインスタンスを9.7.0にアップデートした後、対応するレプリカがサービス起動後に回復できません。次の例外が繰り返しログに記録されています:

2024-09-18 09:36:31.238 ERROR (recoveryExecutor-12-thread-1-processing-fts06.host.internal:8983_solr dovecot_fts_shard5_replica_n61 dovecot_fts shard5 core_node62) [c:dovecot_fts s:shard5 r:core_node62 x:dovecot_fts_shard5_replica_n61 t:] o.a.s.c.RecoveryStrategy Error while trying to recover. core=dovecot_fts_shard5_replica_n61 => java.lang.NullPointerException: Cannot invoke "org.apache.solr.client.solrj.impl.AuthenticationStoreHolder.updateAuthenticationStore(org.eclipse.jetty.client.api.AuthenticationStore)" because "this.authenticationStore" is null
at org.apache.solr.client.solrj.impl.Http2SolrClient.setAuthenticationStore(Http2SolrClient.java:318)
java.lang.NullPointerException: Cannot invoke "org.apache.solr.client.solrj.impl.AuthenticationStoreHolder.updateAuthenticationStore(org.eclipse.jetty.client.api.AuthenticationStore)" because "this.authenticationStore" is null

このエラーは、レプリカの回復が失敗した原因であり、9.6.1に戻すと再びレプリカが回復します。

これは9.7.0と9.6.1のインスタンスを併用している場合に発生する問題でしょうか、それとも他に原因があるのでしょうか?

よろしくお願いします。
Patrik

過去の類似のお問い合わせ

  • Solr 8.7 を Java 11 Open J9 で起動するときに、コマンドラインオプションが認識されない
  • ZooKeeperのupconfigはZK_HOST形式のURLを認識しません
  • CustomBreakIteratorのパフォーマンスに関する問題
  • 検索ストリーミング式で特定のシャードからドキュメントを取得
  • 音声検索
返信投稿者:ks-solruserml-bot (2024/12/28 18:43 投稿)

こんにちは皆さん、

残念ながら、私も同じエラーが発生しています。私の場合、Solr 9.4.1を使用しており、9.7.0にアップグレードしています。ノードが9.7.0にアップグレードされ、リーダーから回復しようとすると、上記のエラーが発生します。9.4.1に戻すと回復できるのですが、今は古いバージョンに戻ったままです。何か助けていただけるとありがたいです。

よろしくお願いします、

Endika

返信投稿者:ks-solruserml-bot (2024/12/28 18:43 投稿)

皆さん、こんにちは、

経験を共有していただきありがとうございます。この問題に直面してしまい、申し訳ありません!

もし可能なら、再現できるか確認してみますので、クラスターの設定についていくつか詳細を教えていただけますか?

  • クラスターで有効になっている認証/authzプラグインは何ですか?もしbasicAuthが使用されている場合(スタックに示唆されているように)、"forwardCredentials"は設定されていますか?
  • これらのクラスターでSSL/TLSが有効になっていますか?もし有効であれば、制御しているシステムプロパティを教えていただけますか?
  • Jetty HttpClientの作成にカスタマイズを加えたことはありますか?(SolrはHttpClientの設定を変更するためのsyspropベースのフックを提供しています)

よろしくお願いします、

Jason

返信投稿者:ks-solruserml-bot (2024/12/28 18:43 投稿)

こんにちは、これについて調べていただきありがとうございます。

私の場合、Solrはbasic authで実行されており、forwardCredentialsは使用していません(デフォルトの設定です)。SSLは有効になっておらず、HttpClientの作成にカスタマイズは加えていません。(基本認証の資格情報を渡すために、"-Dsolr.httpclient.config=/var/solr/data/basicAuth.properties"を設定しているだけです)。

よろしくお願いします、
Endika

返信投稿者:ks-solruserml-bot (2024/12/28 18:43 投稿)

こんにちは、Jason

これについて調べていただきありがとうございます。

  • クラスターで有効になっている認証/authzプラグインは何ですか? basicAuthが使用されている場合(スタックが示唆するように)、"forwardCredentials"は設定されていますか?

私たちは、BasicAuthとRuleBasedAuthorizationを使用しており、blockUnknownが有効で、forwardCredentialsは無効にしています。

  • これらのクラスターでSSL/TLSは有効になっていますか? もし有効なら、制御用のシステムプロパティを共有できますか?

TLSは次のプロパティで有効になっています:

-Dsolr.keyStoreReload.enabled=true
-Dsolr.jetty.keystore=/var/solr/keystore.p12
-Dsolr.jetty.truststore=/var/solr/truststore.p12
-Djavax.net.ssl.keyStore=/var/solr/keystore.p12
-Dsolr.ssl.checkPeerName=true
-Dsolr.jetty.ssl.sniHostCheck=true
-Djavax.net.ssl.trustStore=/var/solr/truststore.p12
-Dsolr.jetty.https.port=8983
-Dsolr.httpclient.builder.factory=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory
-Dbasicauth=--REDACTED--
-Djava.security.auth.login.config=/var/solr/jaas_client.conf
-Dsolr.jetty.ssl.sniHostCheck=false
-DzkACLProvider=org.apache.solr.common.cloud.SaslZkACLProvider
-DzkCredentialsProvider=org.apache.solr.common.cloud.DigestZkCredentialsProvider
-DzkCredentialsInjector=org.apache.solr.common.cloud.VMParamsZkCredentialsInjector

これらのプロパティを確認したところ、"solr.jetty.ssl.sniHostCheck"が2回異なる値で設定されていることに気付きました。これを修正しましたが、問題は解決していません。

  • Jetty HttpClientの作成にカスタマイズを加えましたか?(SolrはHttpClientの設定に影響を与えるためのsyspropベースのフックを提供しています)

私の知識では、カスタマイズは行っていません。

よろしくお願いします、
Patrik

返信投稿者:ks-solruserml-bot (2024/12/28 18:44 投稿)

こんにちは、皆さん

情報ありがとうございます! 私はこの問題をローカルで再現でき、調査と修正をリリースするためのJIRAチケットを作成しました:
https://issues.apache.org/jira/browse/SOLR-17515

少なくとも私にとっては、これはかなり深刻なバグのように見え、他の人たちが同意すれば(そしてリリースを担当するボランティアが見つかれば)、9.7.1リリースにつながるかもしれません。しかし、その間に誰かのためにワークアラウンドを見つけられないか少し調べてみますので、何か見つけたらお知らせします!

よろしくお願いします、
Jason

返信投稿者:ks-solruserml-bot (2024/12/28 18:44 投稿)

こんにちは、皆さん

皆さんが使えるかもしれないワークアラウンドを見つけました。簡単に言うと、SolrCloudのユーザーは、「SOLR_AUTH_TYPE」環境変数と「solr.httpclient.builder.factory」システムプロパティを設定から削除することでこの問題を回避できるはずです。
(「bin/solr auth」ツールは「SOLR_AUTH_TYPE」の設定をSolrの「solr.in.sh」インクルードファイルの最後に追加します。どこからこの設定が来ているのかわからない場合は、まずそこを確認してください)。これを試した方がいれば、結果を報告してください!

さらに、上流で修正がレビュー中です。その修正がどのリリースに含まれるかについて何か進展があれば、ここでお知らせします。

よろしくお願いします、
Jason

返信投稿者:ks-solruserml-bot (2024/12/28 18:44 投稿)

こんにちは、Jason

ワークアラウンドがうまくいくことを確認しました。
こちらのケースでは、新たなエラーがいくつか表示されましたが、それはdocvaluesの変更に関連しており、こちら側で修正が必要です:

unexpected docvalues type NONE for field '_version_' (expected=NUMERIC)

ですので、こちら側は問題ありません。

よろしくお願いします、
Patrik

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2025 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?