[jboss-jira] [JBoss JIRA] (DROOLS-1592) Deleted facts retained in memory, but removed after (de)serialization
Mario Fusco (JIRA)
issues at jboss.org
Wed May 31 12:29:00 EDT 2017
[ https://issues.jboss.org/browse/DROOLS-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mario Fusco updated DROOLS-1592:
--------------------------------
Component/s: core engine
> Deleted facts retained in memory, but removed after (de)serialization
> ---------------------------------------------------------------------
>
> Key: DROOLS-1592
> URL: https://issues.jboss.org/browse/DROOLS-1592
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Reporter: Nikolay Plekhanov
> Assignee: Mario Fusco
> Attachments: drools-memleak.zip
>
>
> Given:
> two agenda groups: A1 and A2.
> Rule R1 in agenda group A1 and rule R2 in agenda group A2.
> R1 matches facts of type T1, deletes them and creates facts of type T2.
> R2 matches facts of type T2 and does soemthing with them (it doesn't matter, because issue happens even if R2 never fired).
> Scenario:
> * Create session, add R1 and R2 rules
> * add some facts of T1 type
> * set focus on A1 agenda group
> * invoke "fireAllRules" method
> * Invoke "getObjects" and assure that session contains only T2 facts
> * analyze objects in memory (by jmap + memory analyzing tool or just traversing references by reflection) and assure that T1 facts are still reachable via session object.
> * serialize session using marshaller and deserialize in again
> * analyze deserialized session and see that it doesn't contain T1 fact references anymore.
> Thoughts:
> I assumed that T1 references storing is feature, because they can be necessary in some cases (like reverse of their deletion due to logical inversion of truth - not sure, but maybe), but T1 deletion after (de)serialization points out the opposite.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list