Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.6
-
None
Description
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.