Jetspeed 2
  1. Jetspeed 2
  2. JS2-800

Memeory Leak Caused by org.apache.jetspeed.container.window.impl.PortletWindowAccessorImpl

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.2
    • Fix Version/s: 2.1.3, 2.2.0
    • Component/s: None
    • Labels:
      None

      Description

      org.apache.jetspeed.container.window.impl.PortletWindowAccessorImpl uses a straight HashMap to cache instances of portlet windows. In high-usages environments this can cause enough of a memory leak to crash the JVM.

      1. TopObjects.Png
        38 kB
        Scott T Weaver
      2. PortletWindowAccessor.Png
        6 kB
        Scott T Weaver

        Activity

        Scott T Weaver created issue -
        Hide
        Scott T Weaver added a comment -

        Sample profiler output prior to fixes: http://people.apache.org/~taylor/large_profiler_hashmap.jpeg

        Show
        Scott T Weaver added a comment - Sample profiler output prior to fixes: http://people.apache.org/~taylor/large_profiler_hashmap.jpeg
        Hide
        Scott T Weaver added a comment -

        Here is the YourKit top object capture after implementing a cache for PortletWindows.

        Show
        Scott T Weaver added a comment - Here is the YourKit top object capture after implementing a cache for PortletWindows.
        Scott T Weaver made changes -
        Field Original Value New Value
        Attachment TopObjectsAfterCaching.Png [ 12368993 ]
        Hide
        Scott T Weaver added a comment -

        The capture was tested with 20 different user hitting simultaneously for about a minute.

        Show
        Scott T Weaver added a comment - The capture was tested with 20 different user hitting simultaneously for about a minute.
        Hide
        Scott T Weaver added a comment -

        Uploaded the PortletWindowAccessorImpl it now uses virtually no memory.

        Show
        Scott T Weaver added a comment - Uploaded the PortletWindowAccessorImpl it now uses virtually no memory.
        Scott T Weaver made changes -
        Attachment PortletWindowAccessor.Png [ 12369126 ]
        Hide
        Scott T Weaver added a comment -

        A better top object listing using the the newest version of YourKit.

        Show
        Scott T Weaver added a comment - A better top object listing using the the newest version of YourKit.
        Scott T Weaver made changes -
        Attachment TopObjects.Png [ 12369127 ]
        Scott T Weaver made changes -
        Attachment TopObjectsAfterCaching.Png [ 12368993 ]
        Scott T Weaver made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Fix Version/s 2.1.3 [ 12312573 ]
        Hide
        Ate Douma added a comment -

        Adding this feature to 2.2 too now.
        I will commit the synchronization of this feature to trunk shortly

        Show
        Ate Douma added a comment - Adding this feature to 2.2 too now. I will commit the synchronization of this feature to trunk shortly
        Ate Douma made changes -
        Fix Version/s 2.2 [ 12312318 ]
        Ate Douma made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        8d 22h 29m 1 Scott T Weaver 08/Nov/07 16:14
        Resolved Resolved Closed Closed
        1426d 4h 53m 1 Ate Douma 04/Oct/11 21:07

          People

          • Assignee:
            Scott T Weaver
            Reporter:
            Scott T Weaver
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development