Upstream Drools Bug: From with modify fires unexpected rule

Description

Reported in customer case 6322 and upstream in DROOLS-3606.
When a KieBase contains multiple rules with from statements in their constraints, and calls to modify in their consequences that affect the evaluation of those constraints, rules may fire unexpectedly after a fact has been modified by a previous rule.

Acceptance / Success Criteria

None

Attachments

1

Lucidchart Diagrams

Activity

Show:

Will Keaney November 7, 2019 at 9:31 PM

I mentioned this on Mattermost, but want to document it here: The workaround for this bug requires deleting and inserting facts every time they're modified.
In our KieBases, this results in a constant 3x increase in CPU activity, with some bursts above that level.

I'm working on an update to the PR that includes the required protobuf upgrade, but still need to work out a couple of other breakages and determine if the serialization format changes between proto2 and proto3 as pointed out on the PR.

Will Keaney October 28, 2019 at 11:01 PM

Will Keaney October 28, 2019 at 10:53 PM

Updating dependencies/drools to depend on 7.8.0 does not have any impact on transitive dependencies:

dependency diff from Drools 7.7.0 to 7.8.0

Will Keaney October 28, 2019 at 9:45 PM

The upstream issue lists the bug as affecting Drools 7.17, but it is reproducible as early as 7.7.0.
It appears fixed in 7.8.0, so it may be a regression in 7.17.
Test case attached.

Fixed

Details

Assignee

Reporter

Components

Sprint

Affects versions

Priority

PagerDuty

Created October 28, 2019 at 9:40 PM
Updated November 15, 2019 at 5:52 PM
Resolved November 15, 2019 at 5:52 PM