[jboss-jira] [JBoss JIRA] (JBRULES-3320) Stateful memory corruption for repetitive updates on the same facts
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Mon Apr 2 05:50:47 EDT 2012
[ https://issues.jboss.org/browse/JBRULES-3320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12680860#comment-12680860 ]
Geoffrey De Smet commented on JBRULES-3320:
-------------------------------------------
@guy: might you want to create a pull request to add that test on MiscTest or TruthMaintenanceTest?
drools/drools-compiler/src/test/java/org/drools/integrationtests/TruthMaintenanceTest.java
Issues with pull requests get resolved much faster than other issues.
https://github.com/droolsjbpm/drools/pulls
> 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.3.0.Final, 5.4.0.Beta1
> Environment: Windows 7 64, Java HotSpot(TM) 64-Bit Server 1.6.0_25
> Reporter: guy ramirez
> Assignee: Edson Tirelli
>
> 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