Bug 724301 (BRMS-246) - Subtle interaction between modify and no-loop causes dormant activations counter to get out of synch
Summary: Subtle interaction between modify and no-loop causes dormant activations coun...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: BRMS-246
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: BRE (Expert, Fusion)
Version: 5.0.0 GA,5.0.1
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: One Off Releases,5.0.2
Assignee: trev
QA Contact:
URL: http://jira.jboss.org/jira/browse/BRM...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-12-10 14:56 UTC by Edson Tirelli
Modified: 2010-09-03 09:58 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 12:41:03 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 724303 0 high CLOSED Support one-off patch for BRMS-246 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 724304 0 high CLOSED Support one-off patch for BRMS-246 2021-02-22 00:41:40 UTC
Red Hat Issue Tracker BRMS-246 0 None None None Never

Internal Links: 724303 724304

Description Edson Tirelli 2009-12-10 14:56:18 UTC
Date of First Response: 2009-12-10 10:02:01
Help Desk Ticket Reference: https://enterprise.redhat.com/issue-tracker/?module=issues&action=view&tid=373895&gid=1177
securitylevel_name: Public

A rule with multiple non-constrained patterns having the no-loop attribute and a modify() call in the consequence would fire only once due to the dormant activations counter getting out of synch on the modify call.

Fixed in here:

http://fisheye.jboss.org/changelog/JBossRules?cs=30568



It seems the customer needs this delivered by January, but we need to double check.

Comment 1 Edson Tirelli 2009-12-10 14:56:47 UTC
Link: Added: This issue depends JBRULES-2369


Comment 2 trev 2009-12-10 15:02:01 UTC
the symptom was that the rule would not reactivate without the fix, when it obviously should
code has been committed to the 5.0.1 branch. 
Appropriate test is http://fisheye.jboss.org/viewrep/JBossRules/soa_branches/BRMS-5.0.1/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java?r1=28568&r2=30568
MiscTest 1.

If CP is not due in time, it may require a hot fix

Comment 3 trev 2009-12-10 15:03:05 UTC
adding it to one offs so it gets flagged up 

Comment 4 Edson Tirelli 2009-12-10 19:14:39 UTC
Just to be clear, the conditions to trigger this problem are very strict:

* a rule with multiple patterns
* no constraints on the patterns (this is very rare)
* a modify in the consequence
* an update/modify call from another rule on one of the facts that match one of the patterns of this rule

So, I don't expect this will hit many users, other than the customer that raised the problem. 


Comment 5 Tihomir Surdilovic 2009-12-14 16:24:53 UTC
Trevor, can you please let me know how are we going to handle this one-off? I would like to communicate it to the customer through the support ticket.

Thanks.

Comment 7 Len DiMaggio 2010-01-15 16:31:28 UTC
Link: Added: This issue is related to BRMS-248


Comment 8 Len DiMaggio 2010-01-15 16:31:28 UTC
Link: Added: This issue is related to BRMS-249


Comment 10 Darran Lofthouse 2010-02-09 13:28:45 UTC
Help Desk Ticket Reference: Added: https://enterprise.redhat.com/issue-tracker/?module=issues&action=view&tid=373895&gid=1177


Comment 12 Dana Mison 2010-04-01 04:54:29 UTC
Added to the BRMS 5.0.2 release notes as resolve:

JBRULES-2369
A rule with the following conditions would only fire once:

 - multiple patterns with no constraints,
 - a modify in the consequence,
 - and an update() or modify() call from another rule on one of the facts that matches one of the patterns of this rule.

This was because the dormant activations counter became unsynchronized when modify()  or update() was called. This has been fixed and the dormant activations counter now reports the correct value.


Note You need to log in before you can comment on or make changes to this bug.