You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by "Vitaly Baranovsky (JIRA)" <je...@portals.apache.org> on 2008/02/08 18:16:08 UTC

[jira] Commented: (JS2-852) Release content buffers after rendering

    [ https://issues.apache.org/jira/browse/JS2-852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12567105#action_12567105 ] 

Vitaly Baranovsky commented on JS2-852:
---------------------------------------

Same problem is when you using keep-alive feature of servlet container of application server.
For example, I have tomcat server with keep-alive feature turned on. So, under production load my keep-alive threads at some times helds up to 900Mb of jetspeed data structures.
So, anyone should turn off keep-alive feature of application server while this issue will be completed.

> Release content buffers after rendering
> ---------------------------------------
>
>                 Key: JS2-852
>                 URL: https://issues.apache.org/jira/browse/JS2-852
>             Project: Jetspeed 2
>          Issue Type: Improvement
>          Components: Aggregation
>    Affects Versions: 2.2
>            Reporter: David Sean Taylor
>            Assignee: David Sean Taylor
>             Fix For: 2.2
>
>
> With a heap analysis tool, we have discovered that, when using a ThreadPool, such as on WAS 6.1, thread locals are being held onto for long periods of time.
> In the PortletEntityImpl, we are using a ThreadLocal to associate per user content fragments with the current thread, as the entity object is not user specific and thus not content specific.
> Instead of putting FragmentPortletDefinition directly on the thread local, instead put it on the Request Context request attribute map (which is really the servlet container's request  attribute map)
> Thus, the FragmentPortletDefinition, and all objects in its subtree, most notably ContentFragmentImpl, PortletContentImpl, and PortletContentImpl's stream of content, will all be put into true per request storage, and no longer stick to the pooled thread locals.
> As an additional improvement, we will add logic to release the PortletContent streams after completion of draining of buffered streams out to the servlet response stream.
> I also want to investigate stream pooling properly at this time

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org