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.

Reply via email to