You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2009/02/09 10:48:59 UTC

[jira] Resolved: (SM-1792) LockManager impl causes memory leak in ServiceMix EIP

     [ https://issues.apache.org/activemq/browse/SM-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Freeman Fang resolved SM-1792.
------------------------------

       Resolution: Fixed
    Fix Version/s: 3.2.4
                   3.3.1
                   servicemix-truezip-2008.02
                   servicemix-ftp-2008.02
                   servicemix-file-2008.02

> 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: servicemix-eip-2008.01, 3.3
>         Environment: Fuse ESB 3.3.1.8-fuse
>            Reporter: Trevor Pounds
>            Assignee: Freeman Fang
>            Priority: Blocker
>             Fix For: servicemix-eip-2008.02, servicemix-file-2008.02, servicemix-ftp-2008.02, servicemix-truezip-2008.02, 3.3.1, 3.2.4
>
>         Attachments: sm-1792-common.patch, sm-1792-eip.patch, sm-1792-file.patch, sm-1792-ftp.patch, sm-1792-truezip.patch, SM-1792.diff
>
>
> 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.