Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1214927

Summary: Decision Table Spreadsheet on Execution Server
Product: [Retired] JBoss BPMS Platform 6 Reporter: Bill DeCoste <wdecoste>
Component: Kie-ServerAssignee: Edson Tirelli <etirelli>
Status: CLOSED EOL QA Contact: Karel Suta <ksuta>
Severity: high Docs Contact:
Priority: high    
Version: 6.1.0CC: etirelli, mwinkler
Target Milestone: DR1   
Target Release: 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1217296 (view as bug list) Environment:
Last Closed: 2020-03-27 19:43:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1217296    
Attachments:
Description Flags
Domain Model
none
Domain Model
none
Spreadsheet none

Description Bill DeCoste 2015-04-23 20:58:48 UTC
Created attachment 1018181 [details]
Domain Model

Description of problem: 
Spreadsheet decision table that worked in 6.0.x causes error in 6.1.0




How reproducible:
100%

Steps to Reproduce:
Yesterday we tried to get the execution server configured.  We could start up a kContainer fine using a simple guided rule.  However, adding a Spreadsheet decision table (attached) would cause the following error when starting up the kContainer.  This was working in 6.0.1.  We could reproduce this error in 6.1.0 on our local environments as well.  Did anything change in terms of how we could format/deploy the decision table spreadsheet in 6.1?
Version-Release number of selected component (if applicable):

Actual results:
16:24:44,567 ERROR [org.kie.server.services.rest.KieServerRestImpl] (http-lpdcldut00575/10.20.156.171:8080-8) Error creating container 'Container1' for module 'com.amex:PricingMaster:1.0': java.lang.IllegalArgumentException: Unable to instantiate service for Class 'org.drools.compiler.compiler.DecisionTableProvider'

at org.kie.internal.utils.ServiceRegistryImpl.get(ServiceRegistryImpl.java:181) [kie-internal-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.compiler.DecisionTableFactory.loadProvider(DecisionTableFactory.java:31) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.compiler.DecisionTableFactory.getDecisionTableProvider(DecisionTableFactory.java:24) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.compiler.DecisionTableFactory.loadFromInputStream(DecisionTableFactory.java:15) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.decisionTableToPackageDescr(KnowledgeBuilderImpl.java:374) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl$4.map(CompositeKnowledgeBuilderImpl.java:452) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildResource(CompositeKnowledgeBuilderImpl.java:359) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackageDescr(CompositeKnowledgeBuilderImpl.java:348) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:100) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:91) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

at org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:223) [drools-compiler-6.2.0.Final-redhat-4.jar:6.2.0.Final-redhat-4]

Expected results:
Import succeeds

Additional info:

Comment 1 Bill DeCoste 2015-04-23 20:59:16 UTC
Created attachment 1018182 [details]
Domain Model

Comment 2 Bill DeCoste 2015-04-23 20:59:48 UTC
Created attachment 1018183 [details]
Spreadsheet

Comment 4 Bill DeCoste 2015-04-23 21:02:03 UTC
I investigated the issue and here are my findings. Please open a BZ for us to properly track this.

   There is a problem with the packaging of the Decision Server and some dependencies are missing. As a short term workaround, you can copy the following jars from the business-central.war/WEB-INF/lib folder into the kie-server.war/WEB-INF/lib folder:

drools-decisiontables-6.2.0.Final-redhat-4.jar
drools-templates-6.2.0.Final-redhat-4.jar
poi-3.10.1.jar
poi-ooxml-3.10.1.jar
poi-ooxml-schemas-3.10.1.jar
xmlbeans-2.3.0.jar
stax-api-1.0.1.jar
dom4j-1.6.1.jar
xml-apis-1.3.04.jar

   Re-start the server and it should work.

Comment 5 Marek Winkler 2015-04-24 06:20:48 UTC
Indeed, drools-decisiontables*.jar and its related libraries are missing in both BPMS and BRMS distributions.

It seems that also Drools and jBPM persistence jars are missing, should they be there too?

Comment 6 Edson Tirelli 2015-04-24 12:36:59 UTC
Marek, persistence is not supported as of product 6.1 in the kie-server, so I don't think they are necessary. The jars I listed in comment #4 should be enough.

Comment 7 Marek Winkler 2015-04-24 13:09:49 UTC
Edson, thanks for clarification!

Comment 8 Edson Tirelli 2015-04-24 13:27:59 UTC
Pushed fix to master (product 6.2):

https://github.com/droolsjbpm/droolsjbpm-integration/commit/ea2f27e46f19e6673d22dae5a0bc0dd54504a946

If this needs to be included in the next 6.1 roll up patch, please provide the corresponding BZ and I will cherry-pick into the product branch.

Comment 9 Karel Suta 2015-04-28 15:07:29 UTC
Added test for this issue to master:

https://github.com/droolsjbpm/droolsjbpm-integration/commit/fd5e2690cb8a3e8fbd50917c2a6c7ee333fbd40a

Comment 10 Karel Suta 2015-08-11 08:56:26 UTC
Verified in 6.2.0 DR1