インメモリー キャッシュ時に「IndexOutOfRangeException」エラーが発生する


解説

大きな負荷がかかっている際にメモリ キャッシュが同時に変更されると、IndexOutOfRangeExceptionがスローされる場合があります。この場合、ログには次のようなメッセージが記録されます:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at System.Collections.Generic.List`1.Add(T item)
   at Sitecore.Commerce.Engine.Connect.CommerceMemoryCacheStore.Set(String key, ICachable value, CacheEntryOptions entryOptions)
   at Sitecore.Commerce.Engine.Connect.CommerceMemoryCacheStore.<>c__DisplayClass7_0.b__0(KeyValuePair`2 value)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Threading.Tasks.Task.WhenAll(IEnumerable`1 tasks)
   ...

この問題は断続的に発生します。

解決策

この問題を解決するには、次のいずれかの方法をお試しください: