IBM Support

JR44100: CMVC 223884 - WebSphere Commerce does not give the option to limit memory cache size


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 Java interface.
    Cache entries used by WebSphere Commerce do not implement this
    The result is that this capability cannot be used, and the Cache
    Monitor application shows the size of each cache entry as -1

Local fix

Problem summary

    Any user wishing to use the memoryCacheSizeInMB in for data cache
    WebSphere Commerce does not give the option to limit memory
    cache size
    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
    by specifying a maximum number of mega-bytes.
    To properly plan and configure each cache instance to avoid
    excessive memory footprint, they must run simulation tests,
    obtain heapdumps, and estimate the correct maximum size in terms
    of number of entries based on the observed memory footprints.

Problem conclusion

  • This iFix implements the
    interface for most cache entries used by WebSphere Commerce.  In
     particular, it does so for cache entries in the following
    DistributedMap object caches:
    services/cache/DM_Cache (Marketing cache)
    services/cache/DM_UserCache (Marketing user behavior cache)
    dmap/IVCache (External Inventory availability cache)
    dmap/PriceCache (External Price cache)
    services/cache/WC*DistributedMapCache (all the "data cache"
    object cache instances)
    It also implements the Sizeable interface for most cacheable
    commands used by WebSphere Commerce "out of the box".
    This iFix does not implement the Sizeable interface for the
    Price Rule cache, nor does it do so for Sales Center cacheable
    For backward compatibility, this capability is 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.  A new "sizeable"
    property is defined for the CrossTransactionCache tag:  specify
    sizeable="true" to enable this capability.
    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.  Observed estimates for the above object
    caches were generally slightly higher than their actual memory
    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
    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:

Temporary fix


APAR Information

  • APAR number


  • Reported component name


  • Reported component ID


  • Reported release


  • Status


  • PE




  • Special Attention

    YesSpecatt / New Function

  • Submitted date


  • Closed date


  • Last modified date


  • 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


  • Fixed component ID


Applicable component levels

  • R700 PSY


[{"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:
29 April 2013