IBM Support

PM08078: SESSION MEMORY INCREASING WITH LARGE JSF PORTLET ACTION

Subscribe

You can track all active APARs for this component.

 

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