IBM Support

JR47434: CMVC 225022 - Some redundant Best Deal promotion evaluations can be avoided.

Subscribe

You can track all active APARs for this component.

 

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