Sitecoreログに「Exception in alarm clock event subscriber」エラーが出力される


解説

以下のエラーが、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以降のバージョンで発生します。

解決策

この問題を解決するには、以下のオプションのいずれかを検討してください。

または代替策として、以下のオプションを実施してこの問題の影響を緩和することも可能です。