Direct links to fixes
APAR status
Closed as program error.
Error description
Promotion evaluation issues a query to the ORDITPRMOCD table for each order item in the shopcart.
Local fix
Problem summary
USERS AFFECTED: WebSphere Commerce version 7 customers who use the Promotion engine to evaluate promotions. PROBLEM ABSTRACT: Reduce the number of ORDITPRMOCD queries for large shopping carts BUSINESS IMPACT: Issuing a query for each order item in the shopcart can contribute to slower response times, especially when the number of items in the shopcart is large. RECOMMENDATION:
Problem conclusion
Promotion evaluation logic has been modified to issue fewer queries to the ORDITPROMOCD table. This new behavior is configured by default with the configuration shown below. It is possible to further configure this new behavior, by placing the following line within the InstanceProperties tag in the wc-server.xml instance configuration file and modifying the default values shown below: <com.ibm.commerce.marketing.promotion.integration.dependency.WC SOrderFactory preFetchMaxSize="128" preFetchMultiples="1 2 4 8 16 32 64 128" roundUpToMultiple="true" /> preFetchMaxSize - specifies the maximum number of orderitem ids to include in a single query. This number cannot exceed 1000. preFetchMultiples - specifies that the number of orderitem ids that can appear in a query must be a multiple of one of the specified numbers. A larger multiple will be used when possible. To specify that a single query with all the orderitem ids should be used, specify preFetchMaxSize="1000" and preFetchMultiples="1". To revert to the previous behavior of a single query per orderitem id, specify preFetchMultiples="1001". roundUpToMultiple - a value of "true" specifies that when the number of orderitem ids falls between two of the specified multiples, the higher multiple will be used, and the number of orderitem ids used in the query will be rounded up to the nearest multiple of that number, as long as the rounded number does not exceed the value for preFetchMaxSize. When the rounded number exceeds the actual number of orderitem ids, duplicate orderitem ids are added to the query. A value of "false" specifies that the lower multiple will be used to round the number of orderitem ids down to a multiple of that number. When the rounded number is lower than the actual number of orderitem ids, more queries are executed, with the number of orderitem ids for each query determined in the same manner, until all orderitem ids have been processed. The preFetchMultiples default value is intended to reduce both the number of queries executed as well as the number of unique queries used, to help avoid placing too many unique prepared statements in the prepared statement cache, which can degrade performance. For example, while a shopcart with 8 items would execute a single query, when roundUpToMultiple is "true", a shopcart with 9 items would execute a single query with 16 orderitem ids, seven of which are duplicates. When roundUpToMultiple is "false", a shopcart with 15 items would execute 4 queries, with 8, 4, 2, and 1 orderitem ids respectively. ------------------------------------------------------------- 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
JR46900
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-06-10
Closed date
2013-11-04
Last modified date
2013-11-04
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:
04 November 2013