You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Christopher Sahnwaldt (JIRA)" <xa...@xml.apache.org> on 2006/09/13 18:27:22 UTC

[jira] Commented: (XALANJ-2178) Possible memory leak in XMLReaderManager

    [ http://issues.apache.org/jira/browse/XALANJ-2178?page=comments#action_12434489 ] 
            
Christopher Sahnwaldt commented on XALANJ-2178:
-----------------------------------------------

I just stumbled across this JIRA entry and thought I'd add my €0.02...

It would probably be better to have a pool of readers from which getXMLReader() takes one, and releaseXMLReader() puts it back. The pool could have a max idle size, so there wouldn't be a memory leak. For fine-tuning, this size could be changed by a system property or so. If some code forgets to call releaseXMLReader(), there still are no memory leaks, we'll just create more XMLReader objects than we would like to.

> Possible memory leak in XMLReaderManager
> ----------------------------------------
>
>                 Key: XALANJ-2178
>                 URL: http://issues.apache.org/jira/browse/XALANJ-2178
>             Project: XalanJ2
>          Issue Type: Bug
>          Components: transformation
>    Affects Versions: 2.6
>            Reporter: Carsten Ziegeler
>            Priority: Critical
>         Attachments: XMLReaderManager.java
>
>
> The XMLReaderManager caches the used XMLReader in a thread local variable. In multi tasking environments this is a possible memory leak, as the XMLReader (and everything referenced by this component) is still referenced after the process is finished - until another request uses the same thread.
> In our case this is causing out of memory exceptions.
> I don't know what the correct path to this problem is. For now, we removed the thread locals in the XMLReaderManager completly and created a new reader each time - which has a minor performance downside, but our application is still running :)
> I think one possible solution would be to clean up the reader when the transformation is finished - if this is possible.
> Another solution would be to make this configurable using a property?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

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