IBM Support

JR51142: Contract entitled prices performance improvements.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • This iFix introduces a number of performance improvements
    related to contract entitled price calculation.
    

Local fix

Problem summary

  • Contract entitled prices performance improvements.
    

Problem conclusion

  • The following performance improvements are included in this fix:
    
    1. New configuration option to skip SKU entitlement level
    checking in SearchCatalogEntryViewPriceResultFilter. To enable,
    add the following lines to the component configuration override
    file
    - com.ibm.commerce.catalog-fep-ext/component.xml-fep:
    
    <_config:configgrouping name="SearchConfiguration">
     <_config:property name="SkipSKULevelEntitlement" value="true"
    />
    </_config:configgrouping>
    
    2.  A reduction in the number of executions of the following
    database queries, which are cached in the object cache with JNDI
    name services/cache/WCSearchDistributedMapCache:
    
    SELECT T1.MARKFORDELETE, T1.TIMEACTIVATED, T1.TIMEAPPROVED,
    T1.ORIGIN, T1.MEMBER_ID, T1.MAJORVERSION, T1.STATE, T1.NAME,
    T1.USAGE, T1.MINORVERSION, T1.CONTRACT_ID, T1.TIMEDEPLOYED,
    T1.TIMECREATED, T1.TIMEUPDATED, T1.FAMILY_ID, T1.OPTCOUNTER,
    T1.COMMENTS FROM CONTRACT  T1 WHERE family_id = ? and state = 3
    and markfordelete = 0 and contract_id in ( select trading_id
    from trading where (starttime < ? or starttime is null ) and
    (endtime > ? or endtime is null) )
    
    SELECT T1.MARKFORDELETE, T1.TIMEACTIVATED, T1.TIMEAPPROVED,
    T1.ORIGIN, T1.MEMBER_ID, T1.MAJORVERSION, T1.STATE, T1.NAME,
    T1.USAGE, T1.MINORVERSION, T1.CONTRACT_ID, T1.TIMEDEPLOYED,
    T1.TIMECREATED, T1.TIMEUPDATED, T1.FAMILY_ID, T1.OPTCOUNTER,
    T1.COMMENTS FROM CONTRACT  T1 WHERE T1.CONTRACT_ID = ?
    
    3.  A reduction in the number of times the following database
    query is executed:
    SELECT T1.TIMECREATED, T1.TIMEUPDATED, T1.STRINGFIELD1,
    T1.STRINGFIELD2, T1.STRINGFIELD3, T1.INTEGERFIELD1,
    T1.INTEGERFIELD2, T1.INTEGERFIELD3, T1.BIGINTFIELD1,
    T1.BIGINTFIELD2, T1.BIGINTFIELD3, T1.FLOATFIELD1,
    T1.FLOATFIELD2, T1.FLOATFIELD3, T1.DECIMALFIELD1,
    T1.DECIMALFIELD2, T1.DECIMALFIELD3, T1.TIMEFIELD1,
    T1.TIMEFIELD2, T1.TIMEFIELD3, T1.OPTCOUNTER, T1.CHANGEABLE,
    T1.MANDATORY, T1.TRADING_ID, T1.TCSUBTYPE_ID, T1.TERMCOND_ID,
    T1.SEQUENCE FROM TERMCOND  T1 WHERE trading_id=? and
    tcsubtype_id = ? and (termcond_id not in (select termcond_id
    from participnt where trading_id is null and termcond_id is not
    null and partrole_id=2) or termcond_id in (select termcond_id
    from participnt where trading_id is null and termcond_id is not
    null and partrole_id=2 and (member_id is null or member_id = ?
    or member_id in (select ancestor_id from mbrrel where
    descendant_id = ?) or member_id in (select mbrgrp_id from
    mbrgrpmbr where member_id = ?))))
    
    4.  A reduction in response time when the
    CompositeGetContractUnitPriceCmdImpl class is called to process
    a large number of catalog entries.
    
    5.  A reduction in the number of times the following data base
    queries are executed when the object cache with JNDI name
    services/cache/WCCatalogEntryDistributedMapCache is defined:
    
    SELECT T1.CATGROUP_ID, T1.CATALOG_ID, T1.TRADEPOSCN_ID,
    T1.STORE_ID, T1.OPTCOUNTER FROM CATGRPTPC  T1 WHERE
    T1.CATGROUP_ID = ?
    
    SELECT T1.CATGROUP_ID, T1.CATALOG_ID, T1.TRADEPOSCN_ID,
    T1.STORE_ID, T1.OPTCOUNTER FROM CATGRPTPC  T1 WHERE
    T1.CATALOG_ID = ? AND T1.CATGROUP_ID = 0 AND ( T1.STORE_ID = ?
    OR T1.STORE_ID = 0 ) ORDER BY T1.STORE_ID DESC
    
    6.  Three new logical data caches, named
    com.ibm.commerce.productset.commands.util.TPCUtil,
    com.ibm.commerce.price.commands.CalculateContractPricesCmdImpl.C
    ATENTRY and
    com.ibm.commerce.price.commands.CalculateContractPricesCmdImpl.P
    RODUCTSET are defined to use the object cache with JNDI name
    services/cache/WCCatalogEntryDistributedMapCache.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR51142

  • 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

    2014-08-28

  • Closed date

    2015-08-07

  • Last modified date

    2015-08-07

  • 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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]

Document Information

Modified date:
12 December 2021