[jboss-jira] [JBoss JIRA] (DROOLS-1592) Deleted facts retained in memory, but removed after (de)serialization

Nikolay Plekhanov (JIRA) issues at jboss.org
Wed May 31 11:11:00 EDT 2017


Nikolay Plekhanov created DROOLS-1592:
-----------------------------------------

             Summary: 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
            Reporter: Nikolay Plekhanov
            Assignee: Edson Tirelli
         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