Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 3.1.3 (EE only), 3.2.2 (EE only), 3.3.0
-
Fix Version/s: 3.1.4 (EE only), 3.2.3 (EE only), 3.3.1
-
Component/s: Core: Transformers
-
Labels:None
-
User impact:High
-
Configuration:
-
Similar Issues:None
Description
Some transformers (xslt and scripting being two of them) create execution contexts. These contexts are not cleared after the execution of the transformer, so information is kept in memory until the next message arrives.
Customers with a large number of transformers and large messages report that Mule creates objects that are never garbage collected after a message has been processed.
Steps to reproduce:
1) Run the attached configuration.
2) Connect a profiler
3) Copy the attached XML file in the "/tmp/test" folder
4) Force a garbage collection
5) Look for the retained size of GroovyScriptEngineImpl and XsltTransformer
(both objects still retain the message that has passed through)
Fix 3.1.x
http://fisheye.codehaus.org/changelog/mule/?cs=24525
Fix 3.2.x
http://fisheye.codehaus.org/changelog/mule/?cs=24526
Fix 3.3.x
http://fisheye.codehaus.org/changelog/mule/?cs=24527
Fix 3.x
http://fisheye.codehaus.org/changelog/mule/?cs=24528