リスト マネージャー アプリケーションは、他のアプリケーションおよびモジュール(例えばEmail Experience Manager〔EXM〕など)が使用するリストを作成し、管理します。リスト マネージャーは、データ ソースとしてsitecore_analytics_indexを使用します。処理中、sitecore_analytics_indexがアナリティクス データベースから入力されます。リストのロックにより、リスト内のすべての連絡先がインデックスされ、使用可能な状態になることが保証されます。全ての追加、削除またはクリアの操作後にリストのロックが行われ、特別なエージェントがすべての操作が終了したかどうかを確認してから、リストをアンロックします。
Sitecore XP 8.2 Update-2およびそれ以降のバージョンでは、\App_Config\Include\ListManagement\Sitecore.ListManagement.DisableListLocking.config.disabledファイルを有効にすることで、リストのロックを無効化することができます。
この記事では、リストのインデックス作成をスタックさせる最も一般的な問題の内容、およびインデックスの再作成方法について説明します。また、Sitecoreサポートがリスト マネージャーで問題が発生した際のトラブルシューティングを行う際に必要な情報についても説明します。
※:リストのロックの無効化は、Sitecore XP 8.2で実施できるようになりましたが、Sitecore XP 9.0で非推奨となりました。ただし、リストが同時に編集された際の挙動については、引き続き注意していただく必要があります。詳細については、次の記事を参照してください:リストのロック(英語版)
シナリオ:リストのインデックス作成が終了しない。
下記の点を確認・修正してください:
上記を確認した後、「影響を受けたリストの再構築を実施する方法」節に従って、リストの再構築を実施してください。再構築を実施しても問題が解決しない場合、または問題が頻繁に発生する場合、「トラブルシューティング」節を参照してください。
次の手順に従って、リストの再構築を実施します:
※註:アナリティクス データベースの連絡先の数がリスト アイテムの連絡先の数と異なる場合、リストに連絡先を追加するコードが誤っている可能性が高いと考えられます。連絡先がアナリティクスAPIによって(連絡先タグを変更することで)リストに追加された場合、Masterデータベースのリスト アイテムのRecipientフィールド値を増分させることが重要です。Masterデータベースが利用できないContent Deliveryサーバでは、このアクションを実施することが困難な場合があります。スケールされた環境の場合、すべての必要な操作を実施するEXM APIを利用する必要があります。
上記のアクションを実施しても、問題が発生し、再現が可能な場合は、Sitecoreサポートにご連絡いただき、以下の情報を提供してください:
インデックス作成リストのトラブルシューティングを実施する場合、問題の根本的な原因を見つけるために拡張ロギングの有効化が必要になる場合があります。なお、これはオプションであり、担当のエンジニアから依頼されている場合のみ、以下の手順を実施してください:
<root>
<priority value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
<logger name="Sitecore.Diagnostics.Crawling" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CrawlingLogFileAppender"/>
</logger>