[jboss-jira] [JBoss JIRA] (JBRULES-3692) Real-time planning: memory leak when calling addProblemFactChange(ProblemFactChange)

Geoffrey De Smet (JIRA) jira-events at lists.jboss.org
Fri Nov 23 04:57:22 EST 2012


    [ https://issues.jboss.org/browse/JBRULES-3692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736603#comment-12736603 ] 

Geoffrey De Smet commented on JBRULES-3692:
-------------------------------------------

Reproduced locally. After 200+ addProblemFactChanges() on a dataset with 400 computers and 1200 processes I have in memory:
- CloudComputer: 400 // Correct
- CloudBalance: 3 // Sounds about right: 1 best, 1 working clone and 1 gui clone? (maybe 1 to many)
- CloudProcess: 256 913 // Very wrong. Should be 1200 * 3 = 3600. This leaks

                
> Real-time planning: memory leak when calling addProblemFactChange(ProblemFactChange)
> ------------------------------------------------------------------------------------
>
>                 Key: JBRULES-3692
>                 URL: https://issues.jboss.org/browse/JBRULES-3692
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-planner
>    Affects Versions: 5.5.0.Final
>            Reporter: Radovan Synek
>            Assignee: Geoffrey De Smet
>            Priority: Critical
>
> When using Planner with DroolsScoreDirector, after each problem fact change, number of planning entity instances increases.
>  
> Steps to reproduce:
> 1. open cloud balance example with GUI, choose the largest input
> 2. start solving the problem
> 3. delete some of the listed computers - to make the fact change (for me, 5 computers in a 5 seconds are enough)
> 4. take a heapdump (I used jmap -dump:live,file=... to enforce GC first)
> 5. open visualvm or similar tool and look for the planning entity class
> 6. repeat 3. - 5. several times, you should see increasing number of planning entity instances
> Also, there is a rule base holding sessions under the Planner API - and number of sessions also increases in time (these sessions reference to planning entity instances).
> Steps to reproduce:
> 1. open the last heapdump in similar tool and look for ReteooRuleBase.
> 2. the rule base holds ObjectHashSet with stateful sessions in its entries
> 3. you should see a different number of these session in every heapdump taken in previous recipe

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list