|
Jerry Wilwerding created an issue |
Memory leak (SchemaCleanerCallback finalize not called before thread ends) |
Issue Type: |
|
---|---|
Affects Versions: |
2.7-beta, 2.5.1 |
Assignee: |
|
Components: |
Application schema, WFS |
Created: |
25/Feb/15 4:36 PM |
Priority: |
|
Reporter: |
Repeated requests for XSLT transformations leveraging the app-schemas will eventually run tomcat out of memory. When a request is made, org.geoserver.ows.Dispatcher runs in a thread. The Dispatcher thread will create a NEW thread in XSLTOutputFormat with this code: { line 198 2.5.1} In the newly created thread, FeatureTypeSchemaBuilder is eventually called. The build method will store the schema that was just The new thread returns back to the Dispatcher thread without calling the SchemaCleanerCallback finalize method causing the leak. Dispatcher thread calls fireFinishedCallback which does call the SchemaCleanerCallback finalize method, but fails to clean up the schema since the ThreadLocal with the schema variable is not visible in the Dispatcher thread. Recommend that all ThreadLocal instances used for memory management following the Callback pattern similar to SchemaCleanerCallback be analyzed to determine if this same error might also cause other leaks. |
This message was sent by Atlassian JIRA (v6.1.6#6162-sha1:7af547c) |
|