Hide Forgot
Description of problem: When converting an .xls file to a GDT, globals defined in the spreadsheet are stored in a .gdrl file in the same package. However, if an update is made to values in the decision table and the project is built/deployed, applications running a kie-scanner will fail to deploy the kiebase with an error like the following: ERROR o.d.c.k.b.impl.KieContainerImpl - Unable to update KieBase: defaultKieBase to release example:scanner-reproducer:1.11 Rule Compilation error : [Rule name='Whatever'] defaultpkg/Rule_Whatever395648274.java (13:477) : list cannot be resolved where 'list' is the global variable defined in the .gdrl file and referenced in the modified rule. This behavior appears to apply to any rule referencing a global defined in a separate file. If the rule changes but the global file does not, the kiebase fails to compile. How reproducible: Always Steps to Reproduce: 1. Create a new Global Variable file in business-central 2. Define a global variable 3. Create a new GDT, Guided Rule, or DRL file 4. Reference the global variable in the rule. 5. Configure a kie-scanner in a client application to load the LATEST version of the project 6. Update the rule (but not the global variable) 7. Increment the version in the projects pom.xml 8. Build/Deploy the project Actual results: ERROR o.d.c.k.b.impl.KieContainerImpl - Unable to update KieBase: defaultKieBase to release example:scanner-reproducer:1.11 Rule Compilation error : [Rule name='Whatever'] defaultpkg/Rule_Whatever395648274.java (13:477) : list cannot be resolved Expected results: No error, kiebase updated with updated rules Additional info:
Created attachment 1128677 [details] Reproducer Adding a simple reproducer scenario. Steps to reproduce: 1. Import brms-project into brms workbench 2. Build/Deploy the project 3. Run client/src/main/java/example/Client.java 4. When prompted, update reproducerRule in workbench, then increment project version and Build/Deploy again 5. Press ENTER on the console where Client is waiting 6. Observe exception
Fixed by https://github.com/droolsjbpm/drools/commit/b271fc97080fa185d3e1360fc3223823307dc0a9
Verified using BxMS 6.3.0.DR2 and attached reproducer.