Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Duplicate
-
1.2.7-core
-
None
-
None
-
None
Description
We have a large application built on Trinidad, we are very close to release,
but our testing has found that Trinidad is not closing file handles after the request.
Garbage collection correctly closes the handles but they build up too quickly to be
efficiently garbage collected ( ~54 handles per page hit!). We believe that we have
narrowed it down to the Trinidad servlet filter (org.apache.myfaces.trinidad.webapp.ResourceServlet)
as we have performed tests that monitor open file handles on a single simple page in complete isolation with and
without Trinidad tags. When the Trinidad servlet filter is enabled, we see the file
handles being created but when it is removed from web.xml, the file handles are
no longer being created. After we reach the file handle limit then our entire
application becomes unstable as we can no longer use anything that depends
on opening file handles or named pipes.
We came across this post but nothing that specifically addressed a fix for the issue
in Trinidad:
https://issues.apache.org/jira/browse/TRINIDAD-806
Here is a similar issue and fix when using MyFaces JSF:
https://issues.apache.org/jira/browse/TOMAHAWK-1040
The file handle leak occurs with both Sun JSF RI 1.2 and MyFaces JSF 1.2.2.
Specifically, the file handles are being created for trinidad-impl-1.2.7-SNAPSHOT.jar.
This is a bad hack but I'll include it here because it does seem to actually work
around the problem. Load the application in your Web Server, ensuring that
Trinidad has loaded it's libraries at least once and then remove the file system
access to the offending trinidad-impl-1.2.7-SNAPSHOT.jar, preventing any file
access at all.
Attachments
Issue Links
- is depended upon by
-
TRINIDAD-73 trinidad-impl.jar file is left open during execution
- Closed