Under heavy load, when the memory cache gets modified concurrently, IndexOutOfRangeException might be thrown. The following message can be found in the logs:
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) ...
The issue occurs intermittently.
To resolve the issue, consider one of the following options:
Note: Before installing this hotfix, you must install the Hotfix rollup package for Sitecore Experience Commerce 9.3.0 or all the hotfixes included in the rollup package.
Be aware that the hotfixes were built for the specific Sitecore XC version and must not be installed on other Sitecore XC versions or in combination with other hotfixes. In case any other hotfixes have already been installed on a certain Sitecore XC instance, send a request for a compatibility check to Sitecore Support.
Note that the ZIP file contents must be extracted to locate installation instructions and related files inside. The hotfixes must be installed on a CM instance and then synced with other instances using standard development practices.