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