IBM Support

JR50677: Performance improvements for RelationshipEvaluator

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • TimeoutException while accessing user data in Commerce OrgAdmin
    console.
    The admin tries to use the OrgAdmin console to change the data
    of a specific user:
    1. Access Management > Find user [by Logon ID]
    2. Select the founded user and press the change button
    The selecting admin user has 86 roles (14 several roles in 20
    several OrgEnties)
    
    Data showed that MemberGroupCache.findByOwnerName is getting
    called during access control policy evaluation by the
    RelationshipEvaluator java class 136,802 times in a test case,
    and taking 191 seconds or 64% of the overall execution time.
    The specified member group name was "RegisteredCustomers".
    However, the number of member groups with that name was only 85.
    

Local fix

Problem summary

  • USERS AFFECTED:
    Customers who have users with a lot of roles in different
    OrgEnties
    
    PROBLEM ABSTRACT:
    Performance improvements for RelationshipEvaluator
    
    BUSINESS IMPACT:
    Slow performance using admin tools
    
    RECOMMENDATION:
    

Problem conclusion

  • When the number of owner ids for the
    MemberGroupCache.findByOwnerName method is large, it becomes
    more efficient to keep a cached list of all member groups with
    the specified name, rather than querying and caching the result
    from many calls to that method.
    
    This iFix provides a new configuration setting that can be used
    to enable this alternate behavior.  Add a tag to the
    InstanceProperties tag in the wc-server.xml instance
    configuration file like this:
    
    <com.ibm.commerce.accesscontrol.policymanager.RelationshipEvalua
    tor findByOwnerNameThreshold="100"/>
    
    where:
    
    findByOwnerNameThreshold specifies that the alternate behavior
    should be used when the number of owner ids to be checked using
    the findByOwnerName method exceeds the specified threshold
    value.
    
    This iFix defines a new logical data cache named
    "com.ibm.commerce.user.objsrc.MemberGroupCache.findByName",
    which uses the object cache with JNDI name
    "services/cache/WCSystemDistributedMapCache" to cache a list of
    member group ids with their owner ids.
    
    -------------------------------------------------------------
    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

    JR50677

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

  • Closed date

    2014-11-17

  • Last modified date

    2014-11-17

  • 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