Direct links to fixes
APAR status
Closed as program error.
Error description
Best Deal processing involves evaluating the same group of promotions many times in different combinations. When there are 5 promotions in the same "group" (stackable and with the same priority), then 5 factorial (or 120) combinations are evaluated. With 7, there are over 5000 combinations. With 10, there are over 3 million combinations. Many of the combinations are similar, in that they start with the same combination, and only vary near the end. For example, for a group of 4 there are the following combinations: 1 2 3 4 1 2 4 3 1 3 2 4 1 3 4 2 1 4 2 3 1 4 3 2 2 1 3 4 2 1 4 3 2 3 1 4 2 3 4 1 and so on. Notice that the first two combination both start by evaluating 1 and 2. So the second evaluation of these promotions is unnecessary since it has already been done. Similarly the next two rows both start with 1 3, and so on. By avoiding such unnecessary re-evaluation of promotions, response times for Best Deal processing can be improved.
Local fix
Problem summary
USERS AFFECTED: WebSphere Commerce version 7 customers using the Best Deal promotion logic (configured using a FlowControl setting of 1 in the WCSPromotionEngineConfiguration.xml promotion configuration file). PROBLEM ABSTRACT: Some redundant Best Deal promotion evaluations can be avoided. BUSINESS IMPACT: Response times are generally slow when the number of combinations is 5 or more. RECOMMENDATION:
Problem conclusion
This fix adds a new FlowControl value for the WCSPromotionEngineConfiguration.xml file. Currently, FlowControl value 1 indicates Best Deal processing. Now, to enable these Best Deal performance enhancements, FlowControl value 2 must be specified. The reason the performance enhancements are not enabled by default is that they impose some restrictions on the kinds of customization that can be done to Promotion related java objects. In particular, the following kind of object should not be extended: com.ibm.commerce.marketing.promotion.runtime.PromotionContext And the following kinds of objects should not be extended in any way that would result in the clone method returning a clone that references data from the original object that can be changed during Best Deal processing: com.ibm.commerce.marketing.promotion.runtime.PromotionExecutionR ecord com.ibm.commerce.marketing.promotion.reward.DefaultChoiceOfFreeG iftAdjustment com.ibm.commerce.marketing.promotion.runtime.PromotionArgument com.ibm.commerce.marketing.promotion.choice.RewardOption any class that implements the com.ibm.commerce.marketing.promotion.reward.Adjustment interface. Be sure to check custom Java classes to ensure these restrictions are met before enabling FlowControl 2. ------------------------------------------------------------- The latest available maintenance information can be obtained from the Recommended Fixes for WebSphere Commerce technote: http://www.ibm.com/support/docview.wss?rs=3046&uid=swg21261296
Temporary fix
Comments
APAR Information
APAR number
JR47434
Reported component name
WC BUS EDITION
Reported component ID
5724I3800
Reported release
700
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-08-06
Closed date
2014-05-03
Last modified date
2014-05-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WC BUS EDITION
Fixed component ID
5724I3800
Applicable component levels
R700 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYSYL","label":"WebSphere Commerce Enterprise"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 May 2014