[
https://issues.jboss.org/browse/JBRULES-3234?page=com.atlassian.jira.plug...
]
RH Bugzilla Integration commented on JBRULES-3234:
--------------------------------------------------
Alessandro Lazarotti <alazarot(a)redhat.com> made a comment on [bug
809302|https://bugzilla.redhat.com/show_bug.cgi?id=809302]
Technical note added. If any revisions are required, please edit the "Technical
Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services
team.
New Contents:
PRODUCT NAME:
JBoss Enterprise BRMS
VERSION:
5.2.0
SHORT DESCRIPTION:
NPE while creating activations if a fact is modified by prior consequences
LONG DESCRIPTION:
A NPE in terminal nodes can be raised if a same fact is updated in different
agenda/rulefow groups
MANUAL INSTALL INSTRUCTIONS:
To install this patch replace the following with the jars included in this patch:
For BRMS Manager :
$JBOSS_HOME/jboss-as/server/$PROFILE/jboss-brms.war/WEB-INF/lib/drools-core-5.2.0.BRMS.jar
For BRMS Engine :
The drools-core-5.2.0.BRMS.jar included with your application.
COMPATIBILITY:
DEPENDENCIES:
N/A
SUPERSEDES:
N/A
SUPERSEDED BY:
N/A
CREATOR:
Alessandro Lazarotti
DATE:
04/03/2012
NPE while creating activations if a fact is modified by multiple
prior consequences
------------------------------------------------------------------------------------
Key: JBRULES-3234
URL:
https://issues.jboss.org/browse/JBRULES-3234
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core (expert), drools-core (flow)
Affects Versions: 5.3.0.CR1
Reporter: Jamie Shaw
Assignee: Edson Tirelli
Priority: Critical
Fix For: 5.3.1.Final, 5.4.0.Beta1
Attachments: Drools runtimes.png, JBRULES-3234.zip, nullpointer.txt, rulest.txt,
Test output.txt
I receive an NPE when attempting to modify a fact in a rule consequence if multiple prior
rules have modified the same fact.
It appears to involve the interaction between 3 rules, each of which is in a different
agenda group. For background, this is a fraud detection application. Under certain
conditions, we need to look up additional customer information. Some rules are run to
determine whether the lookup is required and then another rule actually does the lookup.
In this case:
Rule 021 says if the order is small, set the lookup flag on the customer fact to false
Rule 042B says if the order is from a 'bad' country, set the lookup flag on the
customer fact to true
Rule 022 says if the lookup flag is true, do the lookup, set the results on the customer
flag and set the lookup flag on the customer fact
If rule 021 fires alone, then 022 does not fire and all is well.
If rule 042B fires alone, then 022 fires and all is well.
If 021 fires to turn off the lookup AND 042B fires to turn on the lookup, then 022 gets
and NPE.
As Edson suspected, the item is null and the 'rule' variable points to rule 021.
Each rule involved is in a different agenda group.
This works in 5.2.0.Final, but breaks in 5.3.0.CR1.
--
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