Unnecessary re-allocations in promotion engine

Found in

EPiServer.Commerce 13.3.0

Fixed in

EPiServer.Commerce 13.23.0

Created

Apr 20, 2020

Updated

Aug 10, 2020

State

Closed, Fixed and tested


Description

There is a memory over allocation within the product within the PromotionExclusionHandler.AddAppliedPromotion method and IsExcluded method.

This method was recreating an ExcludedItems hash multiple times, unnecessarily. This is currently cumulatively consuming approximately 2.9GB within a 120 second period of time, within production.