APAR status
Closed as program error.
Error description
A memory increase in HTTP session sizes can be observed when utilizing JSF portlets. JSF portlets utilize large render parameter that are stored in portlet action results. Portal state components store executed portlet actions and the resulting state to prevent multiple action execution. Those action result data can be recognized in the http session as String objects that start with 'RES#' and are set from the following stack: at com.ibm.ws.webcontainer.httpsession.SessionData .setAttribute(SessionData.java) at com.ibm.ws.webcontainer.httpsession.HttpSessionFacade .setAttribute(HttpSessionFacade.java:134) at com.ibm.wps.state.accessors.statepartition .StatePartitionMapFactoryImpl$BasicMapDefaultImpl .put(StatePartitionMapFactoryImpl.java:85) at com.ibm.wps.state.accessors.action.manager .DefaultActionResultManager.storeDocument(DefaultActionResultMan ager.java:199) at com.ibm.wps.state.accessors.action.manager.ActionManagerImpl .saveActionResult(ActionManagerImpl.java:220) at com.ibm.wps.engine.phases.WPActionPhase .processPortlets(WPActionPhase.java:1055) at com.ibm.wps.engine.phases.WPActionPhase.execute(WPActionPhase .java:506) at com.ibm.wps.state.phases.AbstractActionPhase .next(AbstractActionPhase.java:130) at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:779) at com.ibm.wps.engine.Servlet.doGet(Servlet.java:620) at com.ibm.wps.engine.Servlet.doPost(Servlet.java:805) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) WebSphere portal already provides a configuration option to disable action result storage through the portlet and or portal configuration setting 'wps.multiple.action.execution'.
Local fix
Problem summary
A memory increase in HTTP session sizes can be observed when utilizing JSF portlets. JSF portlets utilize large render parameter that are stored in portlet action results. Portal state components store executed portlet actions and the resulting state to prevent multiple action execution. Those action result data can be recognized in the http session as String objects that start with 'RES#' and are set from the following stack: at com.ibm.ws.webcontainer.httpsession.SessionData.setAttribute(Ses sionData.java) at com.ibm.ws.webcontainer.httpsession.HttpSessionFacade.setAttribu te(HttpSessionFacade.java:134) at com.ibm.wps.state.accessors.statepartition.StatePartitionMapFact oryImpl$BasicMapDefaultImpl.put(StatePartitionMapFactoryImpl.jav a:85) at com.ibm.wps.state.accessors.action.manager .DefaultActionResultManager.storeDocument(DefaultActionResultMan ager.java:199) at com.ibm.wps.state.accessors.action.manager.ActionManagerImpl.sav eActionResult(ActionManagerImpl.java:220) at com.ibm.wps.engine.phases.WPActionPhase.processPortlets(WPAction Phase.java:1055) at com.ibm.wps.engine.phases.WPActionPhase.execute(WPActionPhase.ja va:506) at com.ibm.wps.state.phases.AbstractActionPhase.next(AbstractAction Phase.java:130) at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:779) at com.ibm.wps.engine.Servlet.doGet(Servlet.java:620) at com.ibm.wps.engine.Servlet.doPost(Servlet.java:805) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) WebSphere portal already provides a configuration option to disable action result storage through the portlet and or portal configuration setting 'wps.multiple.action.execution'.
Problem conclusion
This APAR introduces additional portal configuration settings to have the multiple action execution code and result state caching enabled while having the memory utilization in the HTTP session capped. The settings can be used to specify a cache size boundary for action ID keys and result state values: To enable this cache size boundary, please use WAS admin console -> Resource Environment Providers -> WP ConfigService to add the following two custom properties: setting: wps.multiple.action.cache.bound.enabled values: true|false (default = false) setting: wps.multiple.action.cache.key.maxsize values: int >= 1 (default = 20) (Must be larger than wps.multiple.action.cache.value.maxsize) setting: wps.multiple.action.cache.value.maxsize values: int >= 1 (default = 5) A server restart is required afterwards. A typical setting would be: wps.multiple.action.cache.bound.enabled=true wps.multiple.action.cache.key.maxsize=40 wps.multiple.action.cache.value.maxsize=10 This setting will store the executed action ids for the last 40 entries - preventing multiple execution, e.g. when using back button. This data is usually only a few Bytes long - so have a large number does not require large session memory. Additionally, the action result state of the last 10 entries are stored. This data is usually larger - with JSF render parameters it can grow to several kBytes per entry. Those entries will help user experience when using back button to correctly show the result of the past executed action. Manual Steps: None Failing Module(s): Engine: State handling Affected Users: All users Version Information: Portal Version(s): 6.0.1.1 Pre-Requisite(s): Co-Requisite(s): --- Portal Version(s): 6.0.1.4 Pre-Requisite(s): Co-Requisite(s): --- Portal Version(s): 6.1.0.2 Pre-Requisite(s): PK82601 Co-Requisite(s): --- 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=PM08078&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
PM08078
Reported component name
WEBSPHERE PORTA
Reported component ID
5724E7600
Reported release
61B
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-02-22
Closed date
2010-03-23
Last modified date
2010-05-19
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
R60E PSY
UP
R60H PSY
UP
R61B 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.0.2","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]
Document Information
Modified date:
20 December 2021