ICEfaces
  1. ICEfaces
  2. ICE-10986

ice:outputResource - DynamicResourceDispatcher instances not being cleaned up on session expiry

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: EE-3.3.0.GA_P03
    • Fix Version/s: EE-3.3.0.GA_P04
    • Component/s: Framework, ICE-Components
    • Labels:
      None
    • Environment:
      All

      Description

      This is a similar issues as described in ICE-6931. The instances of the DynamicResourceDispatcher are not being cleaned up when the users session has expired. The instances of this class are created when the ice:outputResource is rendered on the page.

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached screen shots of the VidualVM monitoring of the classes. There is no change before the session has expired compared to when the users session had expired.

        I was reproducing this with the Showcase demo from the EE 3.3.0 P03 release on Tomcat 8. I made the following changes in the demo web.xml:

        Changed:
        <session-config>
        <session-timeout>1</session-timeout>
        </session-config>
        Added:
        <context-param>
        <param-name>org.icefaces.strictSessionTimeout</param-name>
        <param-value>true</param-value>
        </context-param>

        This was to facilitate the timely expiry of the session.

        Show
        Arran Mccullough added a comment - Attached screen shots of the VidualVM monitoring of the classes. There is no change before the session has expired compared to when the users session had expired. I was reproducing this with the Showcase demo from the EE 3.3.0 P03 release on Tomcat 8. I made the following changes in the demo web.xml: Changed: <session-config> <session-timeout>1</session-timeout> </session-config> Added: <context-param> <param-name>org.icefaces.strictSessionTimeout</param-name> <param-value>true</param-value> </context-param> This was to facilitate the timely expiry of the session.
        Hide
        Mircea Toma added a comment -

        I ran the showcase application and I could reproduce the results shown in the screenshots.
        What I did additionally was to force a garbage collection in the JVM. This got rid of all additional instances with the exception of com.icesoft.faces.context.ResourceRegistryLocator$DynamicResourceDispatcherAdapter which is created when resources are used (but there is only one instance per application).

        In conclusion I'm certain that we don't have a memory leak here.

        Show
        Mircea Toma added a comment - I ran the showcase application and I could reproduce the results shown in the screenshots. What I did additionally was to force a garbage collection in the JVM. This got rid of all additional instances with the exception of com.icesoft.faces.context.ResourceRegistryLocator$DynamicResourceDispatcherAdapter which is created when resources are used (but there is only one instance per application). In conclusion I'm certain that we don't have a memory leak here.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: