Rikkola opened a new issue, #7115:
URL: https://github.com/apache/incubator-kie/issues/7115

   ### Describe the bug
   
   On Drools 10.x a rule guarded by exists ( A() and not B() ) stops firing 
even though its condition is satisfied, when another rule in a different 
package wraps the same leading conditional element in its own exists. The rule 
is simply never activated: no build error, no warning, nothing in the logs. The 
same rules fire correctly on 9.44.0.Final.
   
   The whole reproducer is four DRL files. Types (repro.types):
   
   ```
   package repro.types;
   
   declare Seed end
   declare SharedFact end
   declare NegatedFact end
   declare OtherFact end
   declare Result end
   ```
   
   A rule that derives SharedFact from the single input fact (repro.a):
   
   ```
   package repro.a;
   import repro.types.*;
   
   rule "produce-shared-fact"
   
       when
   
           Seed()
   
       then
   
           insert(new SharedFact());
   
   end
   ```
   
   The rule that misbehaves (repro.b):
   
   ```
   package repro.b;
   
   import repro.types.*;
   
   rule "subject"
   
       when
   
           exists ( SharedFact() and not NegatedFact() )
   
       then
   
           insert(new Result());
   
   end
   ```
   
   And a rule that never fires itself, but whose presence is what breaks the 
one above (repro.c):
   
   ```
   package repro.c;
   
   import repro.types.*;
   
   rule "sibling"
   
       when
   
           exists ( SharedFact() and OtherFact() )
   
       then
   
   end
   ```
   
   A single Seed is inserted and fireAllRules() is called. Nothing in the rule 
set ever produces NegatedFact or OtherFact, so after produce-shared-fact runs, 
subject's condition is satisfied and it must fire. sibling correctly does not 
fire, since OtherFact is absent.
   
   On 9.44.0.Final it fires. On 10.0.0, 10.1.0 and 10.2.0 it does not.
   
   This looks like the same family as 
https://github.com/apache/incubator-kie/issues/7109
   
   ### Expected behavior
   
   _No response_
   
   ### Actual behavior
   
   _No response_
   
   ### How to Reproduce?
   
   _No response_
   
   ### Output of `uname -a` or `ver`
   
   _No response_
   
   ### Output of `java -version`
   
   _No response_
   
   ### GraalVM version (if different from Java)
   
   _No response_
   
   ### Kogito version or git rev (or at least Quarkus version if you are using 
Kogito via Quarkus platform BOM)
   
   _No response_
   
   ### Build tool (ie. output of `mvnw --version` or `gradlew --version`)
   
   _No response_
   
   ### Additional information
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to