solr障害時の動作

概要

Fess では solr サーバーをグループ化して、複数のグループを管理することができます。 Fess はサーバーおよびグループの情報を保持して、solr サーバーにアクセスできなくなった場合はサーバー及びグループの状態を変更します。

solr サーバーの状態情報は、管理画面のシステム設定で変更することができます。minActiveServer、maxErrorCount、maxRetryStatusCheckCount、maxRetryUpdateQueryCount は webapps/fess/WEB-INF/classes/fess_solr.dicon で定義することができます。

障害の solr グループの動作

  • solr グループ内に有効状態の solr サーバー台数が minActiveServer 以下になった場合は solr グループが無効状態になります。
  • solr グループ内に有効状態の solr サーバー台数が minActiveServer 以下になっているが solr グループが無効状態になっていない場合、無効状態の solr サーバーの状態を maxRetryStatusCheckCount 回確認して、solr サーバーにアクセスできる場合は solr サーバーの状態を無効状態から有効状態に変更します。インデックス破損状態の solr サーバーはアクセスできたとしても有効状態に変更されません。
  • 無効状態の solr グループは利用されません。
  • solr グループを有効状態にするためには、管理画面のシステム設定で solr グループ内の solr サーバーの状態を有効に変更します。

検索時の障害の動作

  • 検索クエリーは有効状態の solr グループに送信できます。。
  • 検索クエリーは有効状態の solr サーバーだけに送信されます。
  • solr グループ内に複数の solr サーバーが登録されている場合は、利用している回数が少ない solr サーバーに検索クエリーを送信します。
  • solr サーバーに送信した検索クエリーが maxErrorCount 以上失敗した場合は solr サーバーを無効状態に変更します。

更新時の障害の動作

  • 更新クエリーは有効状態の solr グループに送信できます。。
  • 更新クエリーは有効状態の solr サーバーだけに送信されます。
  • solr グループ内に複数の solr サーバーが登録されている場合は、有効状態の solr サーバーすべてに更新クエリーを送信します。
  • solr サーバーに送信した更新クエリーが maxRetryUpdateQueryCount 以上失敗した場合は solr サーバーをインデックス破損状態に変更します。