[jboss-jira] [JBoss JIRA] (DROOLS-35) Possible memory leak: MarshallerReaderContext held indefinitely by ReteooStatefulSession
RH Bugzilla Integration (JIRA)
jira-events at lists.jboss.org
Fri Sep 13 11:43:03 EDT 2013
[ https://issues.jboss.org/browse/DROOLS-35?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804223#comment-12804223 ]
RH Bugzilla Integration commented on DROOLS-35:
-----------------------------------------------
Petr Siroky <psiroky at redhat.com> made a comment on [bug 995017|https://bugzilla.redhat.com/show_bug.cgi?id=995017]
Verified that the reference to MarshallerReaderContext is not held anymore.
Attaching screenshot from VisualVM that clearly shows it and also Maven based reproducer I used.
> Possible memory leak: MarshallerReaderContext held indefinitely by ReteooStatefulSession
> ----------------------------------------------------------------------------------------
>
> Key: DROOLS-35
> URL: https://issues.jboss.org/browse/DROOLS-35
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 5.5.0.Final
> Environment: Oracle JDK7
> Reporter: Magnus Vojbacke
> Assignee: Mario Fusco
> Fix For: 5.5.1.Final, 6.0.0.Alpha9
>
>
> It seems that the memory consumption increases after a session has been unmarshalled. That is to say: an unmarshalled session of size x uses much more memory than if I had started with an empty session and inserted x number of facts.
> Digging into a memory profile, I found that after unmarshalling, my ReteooStatefulSession instance holds on to a MarshallerReaderContext instance:
> StatefulKnowledgeSessionImpl : session
> ReteooStatefulSession : defaultEntryPoint
> NamedEntryPoint : objectStore
> SingleThreadedObjectStore : identityMap
> ObjectHashMap : table
> Entry[] : [0]
> ObjectHashMap$ObjectEntry : value
> DefaultFactHandle : lastLeftTuple
> RuleTerminalNodeLeftTuple : object
> AgendaItem : context
> PropagationContextImpl : readerContext
> MarshallerReaderContext : this
> The MarshallerReaderContext consumes a lot of memory.
> Digging into the unmarshalling code, it seems that the MarshallerReaderContext is a utility class used during unmarshalling of sessions. Intuitively, it seems wrong that a reference to this object should be held after unmarshalling is finished.
--
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