IBM Support

PM16430: PUMAPROFILE.RELOAD() ENABLEMENT FOR VMM CACHE INVALIDATION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • PumaProfile.reload() enablement for VMM cache invalidation
    
    Use case:
    1) Customer logs into Portal with testuser
    2) Login for testuser pulls information from LDAP
    3) testuser information gets cached.
    4) testuser logs out
    5) Direct update is made to LDAP for testuser information
    6) testuser logs in successfully. However, "old" information is
    still
    cached and pulled, instead of new information pulled from LDAP.
    7) testuser information gets updated roughly 1 hour later once
    cached data times out
    
    This is working as designed with caching mechanisms.
    There is not a programmatic way to do this via the
    PUMA API at present time. The closest mechanism is the reload()
    method in the PumaProfile
    interface. However, this only bypasses the PUMA cache and still
    may pull from the VMM cache.
    
    This APAR adds additional configuration options to have
    PumaProfile.reload() method automatically invalidate LDAP
    Attribute cache in VMM LDAP Adapter. Please note that this
    invalidation to bypass caches is only triggered by
    PumaProfile.reload() method. Additionally, only the LDAP
    Attribute cache in VMM is invalidated. Puma Search operations
    are still answered from VMM caches.
    
    To enable WIM attribute cache invalidation during
    PumaProfile.reload() call, please use WAS Admin console ->
    Resources -> Resource environment providers -> 'WP
    PumaStoreService' to add new custom properties:
    
    WP PumaStoreService
    setting: store.puma_default.wim.cacheinvalidation.enabled
    values: [true|false]
    Use store.puma_default.wim.cacheinvalidation.enabled=true to
    enable the cache invalidation
    
    setting: store.puma_default.wim.cacheinvalidation.repositoryids
    values: <comma separated list of LDAP repository IDs as
    specified in wimconfig.xml>
    Use store.puma_default.wim.cacheinvalidation
    .repositoryids=<repositoryID> or
     store.puma_default.wim.cacheinvalidation
    .repositoryids=<repositoryID_1>,<repositoryID_2>,<repositoryID_3
    > to specify multiple WIM LDAP repository IDs.
    
    Please save changes and restart all server nodes afterwards.
    
    The IDs are specified in wimconfig.xml under
    <config:repositories> e.g.:
        <config:repositories xsi:type="config:LdapRepositoryType"
    adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
            id="<repositoryID>"
    
    
    
    
    It may be possible to manually invoke the PumaProfile.reload()
    method through the use of custom code and the PUMA API.
    Please see the whitepaper titled "Portal User Management
    Architecture (PUMA) sample scenarios in IBM WebSphere Portal" at
    IBM developerWorks for more information about the PUMA API:
    http://www.ibm.com/developerworks/websphere/zones/portal/proddoc
    /dw-w-pumascenarios/index.html
    
    
    Sample code which can invoke the reload method as follows:
    com.ibm.portal.um.portletservice.PumaHome service =
    (com.ibm.portal.um.portletservice.PumaHome)psh.getPortletService
    (com.ibm.portal.um.portletser vice.PumaHome.class);
    PumaController pController = service.getController(request);
    PumaProfile pp = service.getProfile(request);
    com.ibm.portal.um.User pu = pp.getCurrentUser();
    pController.reload(pu);
    

Local fix

  • NA
    

Problem summary

  • PumaProfile.reload() enablement for VMM cache invalidation.
    
    Use case:
    1) Customer logs into Portal with testuser.
    2) Login for testuser pulls information from LDAP.
    3) Testuser information gets cached. Testuser logs in
    successfully.
    4) Testuser logs out.
    5) Direct update is made to LDAP for testuser information.
    6) Testuser logs in successfully. However, "old" information is
    still cached and pulled, instead of new information pulled from
    LDAP.
    7) Testuser information gets updated roughly 1 hour later.
    
    This is working as designed with caching mechanism. There is not
    a programmatic way to do this via the PUMA API at present time.
    The closest mechanism is the reload() method in the PumaProfile
    interface.
    However, this only bypasses the PUMA cache and still may pull
    from the VMM cache.
    

Problem conclusion

  • This APAR adds additional configuration options to have
    PumaProfile.reload() method automatically invalidate LDAP
    Attribute cache in VMM LDAP Adapter. Please note that this
    invalidation to bypass caches is only triggered by
    PumaProfile.reload() method. Additionally, only the LDAP
    Attribute cache in VMM is invalidated. Puma Search operations
    are still answered from VMM caches.
    
    Failing Module(s):
       Puma
    
    Affected Users:
       All users
    
    Version Information:
       Portal Version(s): 6.1.0.2
        Pre-Requisite(s): ---
         Co-Requisite(s): ---
    
    PM16430 is also part of Cumulative Fix 06 for Portal
    6.1.0.3/6.1.5.0.
    
    The fix is available from Fix Central:
    
    http://www.ibm.com/eserver/support/fixes/fixcentral/swgquickorde
    r?apar=PM14900&productid=WebSphere%20Portal&brandid=5
    
    You may need to type or paste the complete address into your Web
    browser.
    
    Manuel Steps:
       To enable WIM attribute cache invalidation during
    PumaProfile.reload() call, please use
       WAS Admin console -> Resources -> Resource environment
    providers -> 'WP PumaStoreService' to add new custom properties:
    
           store.puma_default.wim.cacheinvalidation.enabled =
    [true|false]
    
       Use store.puma_default.wim.cacheinvalidation.enabled=true to
    enable the cache invalidation
    
           store.puma_default.wim.cacheinvalidation.repositoryids =
    <comma separated list of LDAP repository IDs as specified in
    wimconfig.xml>
    
       Use
    store.puma_default.wim.cacheinvalidation.repositoryids=<reposito
    ryID> or
    
    store.puma_default.wim.cacheinvalidation.repositoryids=<reposito
    ryID_1>,<repositoryID_2>,<repositoryID_3> to specify multiple
    WIM LDAP repository IDs.
    
       Please save changes and restart all server nodes afterwards.
    
       The IDs are specified in wimconfig.xml under
    <config:repositories> e.g.:
            <config:repositories
    xsi:type="config:LdapRepositoryType"
    adapterClassName="com.ibm.ws.wim.adapter.ldap.LdapAdapter"
               id="<repositoryID>"
    
    Platform Specific:
       This fix applies to all platforms.
    
    A fix is available from Fix Central:
    
    http://www.ibm.com/eserver/support/fixes/fixcentral/swgquickorde
    r?apar=PM16430&productid=WebSphere%20Portal&brandid=5
    
    You may need to type or paste the complete address into your Web
    browser.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM16430

  • Reported component name

    WEBSPHERE PORTA

  • Reported component ID

    5724E7600

  • Reported release

    615

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-06-15

  • Closed date

    2010-07-21

  • Last modified date

    2010-11-09

  • 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

    WEBSPHERE PORTA

  • Fixed component ID

    5724E7600

Applicable component levels

  • R61B PSY

       UP

  • R61C PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSHRKX","label":"WebSphere Portal"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1.5","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]

Document Information

Modified date:
21 December 2021