Jetspeed 2
  1. Jetspeed 2
  2. JS2-864

Release render buffers (PortletContent) after rendering

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.0
    • Fix Version/s: 2.2.0
    • Component/s: Aggregation
    • Labels:
      None

      Description

      When rendering with thousands of users, we are seeing large buffers being left in memory and not released.
      When Java goes to garbage collect, the buffers are not being release due to references to these buffers being held. This is described in JS2-800. Combining this fix with JS2-800 should enable the garbage collector to properly free up these per request buffers.

      Looking at heap dump, we can see:

      1,308,968,904 (81%) [40] 4 org/apache/jetspeed/container/window/impl/PortletWindowAccessorImpl 0x5a459e98
      1,308,968,864 (81%) [48] 4 java/util/Collections$SynchronizedMap 0x5a459ee8
      1,308,968,752 (81%) [64] 3 java/util/HashMap 0x5a459eb8
      1,308,968,688 (81%) [81,320] 20,326 array of java/util/HashMap$Entry 0xaf52a080

      The above problem is addressed in JS2-800, where we can limit the number of PortletWindows in memory
      Combined with too many portlet windows in memory, the portlet content render buffers are held on to, and never released.
      This bug fix aids the garbage collection algorithm by "releasing" the buffers upon render completion
      Note I have seen some very large buffers held on to and never released.
      By setting the streams to null, we can try to aid the garbage collection into freeing these buffers

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        30s 1 David Sean Taylor 14/Apr/08 22:43
        In Progress In Progress Resolved Resolved
        50d 18h 26m 1 David Sean Taylor 04/Jun/08 17:09
        Resolved Resolved Closed Closed
        1217d 3h 58m 1 Ate Douma 04/Oct/11 21:08
        Ate Douma made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        David Sean Taylor made changes -
        Resolution Fixed [ 1 ]
        Status In Progress [ 3 ] Resolved [ 5 ]
        Hide
        David Sean Taylor added a comment -

        We have done some extensive testing over the last month on this. Using the IBM Heap Analyzer, I am not seeing this leak anymore

        Show
        David Sean Taylor added a comment - We have done some extensive testing over the last month on this. Using the IBM Heap Analyzer, I am not seeing this leak anymore
        David Sean Taylor made changes -
        Field Original Value New Value
        Status Open [ 1 ] In Progress [ 3 ]
        David Sean Taylor created issue -

          People

          • Assignee:
            David Sean Taylor
            Reporter:
            David Sean Taylor
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development