IBM Support

JR49762: Reduce memory footprint of Price Rule object cache and implement the Sizeable interface.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • WebSphere Application Server DynaCache provides the capability
    to limit the size in megabytes of each cache instance.
     This feature is available by implementing the
    com.ibm.websphere.cache.Sizeable Java interface.
     Cache entries used by the WebSphere Commerce price rule cache
    with JNDI name dmap/PR_Cache do not implement this interface.
     The result is that this capability cannot be used, and the
    Cache Monitor application shows the size of each cache entry as
    -1 (disabled).
    
     The WebSphere Commerce data cache provides a configuration
    setting to enable the Sizeable interface for other object
    caches, but it does not work for the dmap/PR_Cache object cache.
    
     The WebSphere Commerce data cache also provides a configuration
    setting to reduce the memory footprint of cached objects, but it
    does not work for the dmap/PR_Cache object cache.
    

Local fix

Problem summary

  • USERS AFFECTED:
     Any user wishing to limit the size of the price rule cache by
    specifying a size in megabytes.
    
     PROBLEM ABSTRACT:
     Reduce memory footprint of Price Rule object cache and
    implement the Sizeable interface.
    
     BUSINESS IMPACT:
     It is more difficult to manage the memory footprint of the
    price rule cache because the reduceMemory and sizeable data
    cache settings do not work for the dmap/PR_Cache object cache.
    
     Currently, without this feature, customers can limit the size
    of each cache instance by the maximum number of cache entries
    that can be contained in memory, and by the maximum size of the
    disk cache in gigabytes, but they cannot limit the memory
    footprint
    

Problem conclusion

  • This iFix implements the com.ibm.websphere.cache.Sizeable
    interface for cache entries used by WebSphere Commerce in the
    price rule cache with JNDI name dmap/PR_Cache when the iFix for
    WebSphere Commerce Feature Pack 4 APAR JR49826 is installed.  It
     also implements the reduceMemory data cache setting.
    
     For backward compatibility, these capabilities are not enabled
    "out of the box" and must be explicitly configured in the
    CrossTransactionCache tag of the InstanceProperties tag in the
    wc-server.xml instance configuration file.  The "sizeable"
    property is defined for the CrossTransactionCache tag:  specify
    sizeable="true" to enable this capability.  The "reduceMemory"
    property is also defined for the CrossTransactionCache tag:
    specify reduceMemory="true" to reduce the memory footprint of
    WebSphere Commerce object caches.
    
     A cache entry that implements the Sizeable interface provides
    an estimate of its memory footprint to DynaCache, allowing
    DynaCache to control the overall memory footprint of each cache
    instance.  Test results have shown that the accuracy of the
    estimate can vary.
    
     Note:  DynaCache will disable this capability for a cache
    instance if it detects that a cache entry that does not
    implement the Sizeable interface (for example custom cacheable
    commands in the baseCache) is placed into a cache instance.
    When this happens, a message like the following is placed in the
    SystemOut.log:
     DYNA1067E: The cache size in MB feature is disabled because the
    cached object is not sizeable.
    
     Note:  While DynaCache automatically implements the Sizeable
    interface for servlet (JSP) cache entries, test results have
    shown that the sizes calculated for these entries can be
    significantly underestimated.  For example, in some tests the
    actual memory footprint of the baseCache servlet cache was
    observed to be significantly larger than the calculated memory
    footprint reported by the cachemonitor application.  For these
    reasons, it is generally not advised to specify the memory size
    in MB for servlet cache instances.
    
     Note:  The normal cache maximum size setting is also used to
    limit the number of cache entries kept in memory.  You should
    continue to specify a reasonable maximum size setting for each
    cache instance, to control the memory footprint and prevent
    potential out of memory conditions.
     -------------------------------------------------------------
     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

    JR49762

  • 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-03-26

  • Closed date

    2014-09-02

  • Last modified date

    2014-09-02

  • 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:
11 December 2021