[jboss-jira] [JBoss JIRA] (JBRULES-3320) Stateful memory corruption for repetitive updates on the same facts

guy ramirez (Created) (JIRA) jira-events at lists.jboss.org
Wed Dec 28 12:41:09 EST 2011


Stateful memory corruption for repetitive updates on the same facts
-------------------------------------------------------------------

                 Key: JBRULES-3320
                 URL: https://issues.jboss.org/browse/JBRULES-3320
             Project: Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: drools-core  (expert)
    Affects Versions: 5.4.0.Beta1, 5.3.0.Final
         Environment: Windows 7 64, Java HotSpot(TM) 64-Bit Server 1.6.0_25
            Reporter: guy ramirez
            Assignee: Mark Proctor


Multiple updates to the same fact does not yield the expected results (similar to JBRULES-2809 issue)

The provided UT (see 'steps to reproduce' section) makes use of 2 fact instances: one IntervalRequirement (never updated) and one ShiftAssignment.
The same ShiftAssignment will be updated multiple times to cover one or more IntervalRequirement(s).

Here is the output of the test without executing the assertions. For each update I have added comments explaining what the expected results should be:

Update #1: ShiftAssignment set from 100 to 101
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 100, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementNotCovered -> IntervalRequirement: interval: 103, staffingRequired: 2
intervalRequirementNotCovered -> IntervalRequirement: interval: 102, staffingRequired: 2
intervalRequirementNotCovered -> IntervalRequirement: interval: 101, staffingRequired: 2
COMMENTS: correct
Update #2:ShiftAssignment set from 100 to 103
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 101, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 102, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 100, staffingRequired: 2 covered by 1 ShiftAssignment(s)
COMMENTS: intervalRequirementNotCovered rule should have fired for interval 103
Update #3:ShiftAssignment set from 100 to 102
intervalRequirementNotCovered -> IntervalRequirement: interval: 102, staffingRequired: 2
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 101, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 100, staffingRequired: 2 covered by 1 ShiftAssignment(s)
COMMENT: intervalRequirementNotCovered rule should have fired for interval 103
Update #4:ShiftAssignment set from 100 to 104
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 102, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 103, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 101, staffingRequired: 2 covered by 1 ShiftAssignment(s)
intervalRequirementPartiallyCovered -> IntervalRequirement: interval: 100, staffingRequired: 2 covered by 1 ShiftAssignment(s)
COMMENT: correct
Update #5:ShiftAssignment set from 100 to 101
intervalRequirementTotallyCovered -> IntervalRequirement: interval: 100, staffingRequired: 2 covered by 2 ShiftAssignment(s)
intervalRequirementNotCovered -> IntervalRequirement: interval: 103, staffingRequired: 2
intervalRequirementNotCovered -> IntervalRequirement: interval: 102, staffingRequired: 2
intervalRequirementNotCovered -> IntervalRequirement: interval: 101, staffingRequired: 2
COMMENT: results should have been identical of that of update #1: intervalRequirementPartiallyCovered should have fired for interval 100, instead intervalRequirementTotallyCovered rule fired. 


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list