[jboss-jira] [JBoss JIRA] (DROOLS-368) Memory leak mappedKnowledgeBaseListeners
Mark Proctor (JIRA)
issues at jboss.org
Thu Jul 23 08:38:05 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Proctor reassigned DROOLS-368:
-----------------------------------
Assignee: Petr Široký (was: Mark Proctor)
> Memory leak mappedKnowledgeBaseListeners
> ----------------------------------------
>
> Key: DROOLS-368
> URL: https://issues.jboss.org/browse/DROOLS-368
> Project: Drools
> Issue Type: Bug
> Affects Versions: 5.5.0.Final
> Environment: Linex
> Reporter: David Tse
> Assignee: Petr Široký
> Priority: Critical
>
> This leak is identified by getting a heap dump. Analysis of the heap dump by Eclipse MAT puts org.drools.retoo.ReteooRuleBase as the prime suspect holding to 47.33% of the 870 MB heap memory with org.drools.retoo.ReteooStatefulSession adding to the problem accounting for an additional 5.25% of the memory leak.
> Examination of the BRMS 5.5.0.Final source code indicates that SFT memory leaks are caused by issues associated with 7 classes in the drools-core module of the community version BRMS 5.5.0.Final. These classes are
> • org.drools.impl.KnowledgeBaseImpl.java
> • org.drools.impl.StatefulKnowledgeSession.java
> • org.drools.retoo.ReteooStatefulSession which extends org.drools.retoo.ReteooWorkingMemory.java which extends org.drools.common.AbstractWorkingMemory.java
> • org.drools.retoo.ReteooRuleBase.java which extends org.drools.common.AbstractRuleBase.java
> The code in the community version has cyclic dependency and these developed into dying pointers.
> 1. org.drools.impl.KnowledgeBaseImpl$KnowledgeBaseEventListenerWrapper is holding a reference to this (KnowledgeBaseImpl)
> 2. KnowledgeBaseImpl is holding a reference to RuleBase (ReteooRuleBase is the implementation class)
> 3. ReteooRuleBase is holding a reference to org.drools.impl.KnowledgeBaseImpl$KnowledgeBaseEventListenerWrapper
> For the second leak, StatefulKnowledgeSessionImpl is holding a reference to ReteooWorkingMemory. ReteooWorkingMemory is also holding a reference to StatefulKnowledgeSessionImpl.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list