This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1310884 - [GSS](6.2.z) Kie-scanner fails to update kiebase if a modified rule makes reference to a global defined in a .gdrl file.
[GSS](6.2.z) Kie-scanner fails to update kiebase if a modified rule makes ref...
Status: VERIFIED
Product: JBoss BRMS Platform 6
Classification: JBoss
Component: BRE (Show other bugs)
6.2.0
x86_64 Unspecified
high Severity high
: CR1
: 6.2.2
Assigned To: Mario Fusco
Tibor Zimanyi
:
Depends On: 1310261
Blocks: 1309326 1309327 1310685
  Show dependency treegraph
 
Reported: 2016-02-22 17:07 EST by Alessandro Lazarotti
Modified: 2016-03-08 03:25 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1310261
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Alessandro Lazarotti 2016-02-22 17:07:31 EST
+++ This bug was initially created as a clone of Bug #1310261 +++

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:

--- Additional comment from JBoss Product and Program Management on 2016-02-19 17:20:18 EST ---

Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

--- Additional comment from David Murphy on 2016-02-19 17:24 EST ---

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

--- Additional comment from Mario Fusco on 2016-02-22 06:12:16 EST ---

Fixed by https://github.com/droolsjbpm/drools/commit/b271fc97080fa185d3e1360fc3223823307dc0a9
Comment 1 Alessandro Lazarotti 2016-02-22 17:09:26 EST
Fix cherry-picked to 6.3.x branch with https://github.com/droolsjbpm/drools/commit/bd3109437
Comment 3 Tibor Zimanyi 2016-03-08 03:25:16 EST
Verified by running reproducer from Mario's commit.

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