LockManager impl causes memory leak in ServiceMix EIP
-----------------------------------------------------
Key: SM-1792
URL: https://issues.apache.org/activemq/browse/SM-1792
Project: ServiceMix
Issue Type: Bug
Components: servicemix-eip
Affects Versions: 3.3, servicemix-eip-2008.01
Environment: Fuse ESB 3.3.1.8-fuse
Reporter: Trevor Pounds
Priority: Blocker
Fix For: servicemix-eip-2008.02
Currently the *org.apache.servicemix.locks.LockManager* interface only has a
single method *getLock()* associated with it. As a result this can cause
excessive memory leaks in any component that uses it. I noticed this problem
after upgrading our ServiceMix version (from 3.2.1 to 3.3.1.8-fuse) when using
the ServiceMix EIP. There was a change made for SM-1444 to start using the
lockManager instance in the base EIPEndpoint class to store a lock for each
exchange correlation id. As a result a new lock is being leaked for each
unique correlation id. In our particular use case we see a 1-to-1 correlation
of one object in the lockManager for each message sent to the static recipient
list. After some period of time our ServiceMix crashes with an
OutOfMemoryError. I provided a link to the changeset as reference.
see:
http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-eip/trunk/src/main/java/org/apache/servicemix/eip/patterns/StaticRecipientList.java?r1=669611&r2=674844&diff_format=h
Class that use LockManager and may be affected:
FtpPollerEndpoint.java
FilePollerEndpoint.java
TrueZipPollerEndpoint.java
AbstractAggregator.java
EIPEndpoint.java
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.