[ 
https://issues.apache.org/jira/browse/ODE-1020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173887#comment-14173887
 ] 

Igor Vorobiov commented on ODE-1020:
------------------------------------

Thanks for Redeploy/Undeploy fix. I've tested attached patch and it works fine. 
Memory is released for undeployed and redeployed(retired) process. 
But there is second problem about memory allocation for process. Seems that 
there can be some leak when process is deployed or just loaded on server 
startup. 
As I mentioned in the description most of the memory is allocated for 
org.apache.ode.store.DeploymentUnitDir._docRegistry where wsdl is parsed. Is it 
ok.
Maybe there is some instance duplication since after I applied my fix(set to 
null _docRegistry) memory allocation is decreased.

> Deployment memory leak
> ----------------------
>
>                 Key: ODE-1020
>                 URL: https://issues.apache.org/jira/browse/ODE-1020
>             Project: ODE
>          Issue Type: Bug
>          Components: Deployment
>    Affects Versions: 1.3.6
>            Reporter: Igor Vorobiov
>            Assignee: Sathwik Bantwal Premakumar
>             Fix For: 1.3.7, 1.4
>
>         Attachments: DeploymentService-soapui-project.xml, ODE-1020.patch, 
> heap_dump.png, memLeak2.png, memLeak3.png
>
>
> 1) *Redeploy/Undeploy*: There is deployment memory leak when we 
> redeploy/undeploy process(e.g. DynPartner from ode examples).
> To reproduce need to do redeployment of the process:
> 1. deploy DynPartner-1
> 2. deploy DynPartner-2
> 3. deploy DynPartner-3 ...
> 4. run GC in JProfiler.
> In JProfiler we can see that after each redeployment memory is allocated but 
> after running GC it is not released.
> Even after undeploy memory is not released.
> 2) *Deploy*: When process is deployed memory is allocated with size which 
> depends on wsdl size and count.
> From attached heap dump we can see that most of the memory is allocated for 
> org.apache.ode.store.DeploymentUnitDir._docRegistry where wsdl is parsed.
> The problem became critical when we deployed 140 different processes where 
> each process has 3-4 wsdl files. All these processes consumed about 1Gb 
> memory.
> I've added temp fix in org.apache.ode.store.ProcessStoreImpl which decrease 
> memory usage from 1Gb to 600mb for 140 processes. You can find this fix 
> attached as a picture.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to