以下のエラーが、Sitecoreログにランダムに出力される可能性があります。
ERROR Exception in alarm clock event subscriber. Exception: System.InvalidOperationException Message: Collection was modified; enumeration operation may not execute. Source: mscorlib at System.Collections.Hashtable.HashtableEnumerator.MoveNext() at Sitecore.Collections.SafeDictionary`2.d__7.MoveNext() at Sitecore.Pipelines.HealthMonitor.HealthMonitor.DumpRenderingsStatistics(PipelineArgs args) at (Object , Object[] ) at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) at Sitecore.Services.AlarmClock.Heartbeat_Beat(Object sender, EventArgs e)
Sitecore HealthMonitorは、定期的にページ レンダリングの統計情報を列挙して情報をファイルに保存しています。この問題は、他のスレッドがその時にコレクションを同時に変更しようとした場合、つまり統計情報が保存されているときにページがレンダリングされると発生する可能性があります。
この問題はSitecore XP 8.0.3 - 8.2.2、およびSitecore XP 9.0.1以降のバージョンで発生します。
この問題を解決するには、以下のオプションのいずれかを検討してください。
または代替策として、以下のオプションを実施してこの問題の影響を緩和することも可能です。
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> <sitecore> <pipelines> <healthMonitor> <processor method="DumpRenderingsStatistics"> <patch:delete/> </processor> </healthMonitor> </pipelines> </sitecore> </configuration>
<!-- COLLECT RENDERING DATA Indicates if renderings statistics should be collected. Default value: true --> <setting name="Statistics.CollectRenderingData" value="false"/>註: 値は\App_Config\Include\zzzフォルダに設定パッチ ファイルを作成して変更する必要があります。