Bug 1273362

Summary: Databases: DataSetLookupException in server.log
Product: [Retired] JBoss BPMS Platform 6 Reporter: Pavel Kralik <pkralik>
Component: Business CentralAssignee: David Gutierrez <dgutierr>
Status: CLOSED EOL QA Contact: Lukáš Petrovický <lpetrovi>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 6.2.0CC: kverlaen, nmirasch
Target Milestone: ER5   
Target Release: 6.2.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:35:32 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: 1273259    
Attachments:
Description Flags
postgresql93 server log
none
oracle11gR2 server log
none
mssql2012 server log
none
mysql57 server log
none
postgresplus93 server log none

Description Pavel Kralik 2015-10-20 09:39:26 UTC
Created attachment 1084671 [details]
postgresql93 server log

Description of problem:
BPMS 6.2.0.ER4 server with postgresql93 datasource is experiencing DataSetLookupException in server.log.

server.log:
15:58:58,163 ERROR [org.dashbuilder.dataprovider.backend.sql.JDBCUtils] (http-/127.0.0.1:8080-1) SELECT COUNT(*) FROM (SELECT * FROM (select pil.processinstanceid pid, pil.processid pname, v.id varid, v.variableid varname, v.value varvalue from processinstancelog pil, (select vil.variableid, max(vil.id) as maxvilid from variableinstancelog vil  group by vil.processinstanceid, vil.variableid) as x inner join variableinstancelog as v on v.variableid = x.variableid and v.processinstanceid = pil.processinstanceid and v.id = x.maxvilid) AS "dbSQL") AS "dbSQL"
15:58:58,164 ERROR [org.dashbuilder.dataset.backend.exception.ExceptionManager] (http-/127.0.0.1:8080-1) Can't get metadata on specified data set: jbpmProcessInstancesWithVariables: org.dashbuilder.dataset.exception.DataSetLookupException: Can't get metadata on specified data set: jbpmProcessInstancesWithVariables
...
Caused by: org.postgresql.util.PSQLException: ERROR: invalid reference to FROM-clause entry for table "pil"
  Hint: There is an entry for table "pil", but it cannot be referenced from this part of the query.


Version-Release number of selected component (if applicable):
BPMS 6.2.0.ER4

How reproducible:
Always

Steps to Reproduce:
1. Deploy business central with postgresql93 datasource
2. Navigate to Process Instances

Actual results:
DataSetLookupException exception

Expected results:
No errors

Additional info:

Comment 2 Pavel Kralik 2015-10-20 10:06:36 UTC
BPMS 6.2.0.ER4 with oracle11gR2 datasource server.log:

15:17:46,179 ERROR [org.dashbuilder.dataprovider.backend.sql.JDBCUtils] (http-localhost/127.0.0.1:8080-17) SELECT COUNT(*) FROM (SELECT * FROM (SELECT PIL.PROCESSINSTANCEID PID, PIL.PROCESSID PNAME, V.ID VARID, V.VARIABLEID VARNAME, V.VALUE VARVALUE FROM PROCESSINSTANCELOG PIL, (SELECT VIL.VARIABLEID, MAX(VIL.ID) AS MAXVILID FROM VARIABLEINSTANCELOG VIL  GROUP BY VIL.PROCESSINSTANCEID, VIL.VARIABLEID) AS X INNER JOIN VARIABLEINSTANCELOG AS V ON V.VARIABLEID = X.VARIABLEID AND V.PROCESSINSTANCEID = PIL.PROCESSINSTANCEID AND V.ID = X.MAXVILID) "dbSQL") "dbSQL"
15:17:46,180 ERROR [org.dashbuilder.dataset.backend.exception.ExceptionManager] (http-localhost/127.0.0.1:8080-17) Can't get metadata on specified data set: jbpmProcessInstancesWithVariables: org.dashbuilder.dataset.exception.DataSetLookupException: Can't get metadata on specified data set: jbpmProcessInstancesWithVariables
...
Caused by: java.sql.SQLSyntaxErrorException: ORA-00907: missing right parenthesis

Comment 3 Pavel Kralik 2015-10-20 10:07:09 UTC
Created attachment 1084672 [details]
oracle11gR2 server log

Comment 4 Pavel Kralik 2015-10-20 15:04:03 UTC
BPMS 6.2.0.ER4/EAP 6.4 with mssql2012 datasource server.log:

06:00:29,565 ERROR [org.dashbuilder.dataprovider.backend.sql.JDBCUtils] (http-/127.0.0.1:8080-19) SELECT COUNT(*) FROM (SELECT * FROM (select pil.processInstanceId pid, pil.processId pname, v.id varid, v.variableId varname, v.value varvalue from ProcessInstanceLog pil, (select vil.variableId, max(vil.id) as maxvilid from VariableInstanceLog vil  group by vil.processInstanceId, vil.variableId) as x inner join VariableInstanceLog as v on v.variableId = x.variableId and v.processInstanceId = pil.processInstanceId and v.id = x.maxvilid) "dbSQL") "dbSQL"
06:00:29,566 ERROR [org.dashbuilder.dataset.backend.exception.ExceptionManager] (http-/127.0.0.1:8080-19) Can't get metadata on specified data set: jbpmProcessInstancesWithVariables: org.dashbuilder.dataset.exception.DataSetLookupException: Can't get metadata on specified data set: jbpmProcessInstancesWithVariables
...
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The multi-part identifier "pil.processInstanceId" could not be bound.

Comment 5 Pavel Kralik 2015-10-20 15:05:06 UTC
Created attachment 1084803 [details]
mssql2012 server log

Comment 6 Pavel Kralik 2015-10-20 15:25:35 UTC
BPMS 6.2.0.ER4/EAP 6.4 with mysql57 datasource server.log:

05:50:50,478 ERROR [org.dashbuilder.dataprovider.backend.sql.JDBCUtils] (http-localhost/127.0.0.1:8080-4) SELECT COUNT(*) FROM (SELECT * FROM (select pil.processInstanceId pid, pil.processId pname, v.id varid, v.variableId varname, v.value varvalue from ProcessInstanceLog pil, (select vil.variableId, max(vil.id) as maxvilid from VariableInstanceLog vil  group by vil.processInstanceId, vil.variableId) as x inner join VariableInstanceLog as v on v.variableId = x.variableId and v.processInstanceId = pil.processInstanceId and v.id = x.maxvilid) AS `dbSQL`) AS `dbSQL`
05:50:50,479 ERROR [org.dashbuilder.dataset.backend.exception.ExceptionManager] (http-localhost/127.0.0.1:8080-4) Can't get metadata on specified data set: jbpmProcessInstancesWithVariables: org.dashbuilder.dataset.exception.DataSetLookupException: Can't get metadata on specified data set: jbpmProcessInstancesWithVariables
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'pil.processInstanceId' in 'on clause'

Comment 7 Pavel Kralik 2015-10-20 15:26:30 UTC
Created attachment 1084807 [details]
mysql57 server log

Comment 8 Pavel Kralik 2015-10-21 07:28:06 UTC
BPMS 6.2.0.ER4/EAP 6.4 with postgresplus93 datasource server.log:

05:27:17,957 ERROR [org.dashbuilder.dataprovider.backend.sql.JDBCUtils] (http-localhost/127.0.0.1:8080-5) SELECT COUNT(*) FROM (SELECT * FROM (select pil.processinstanceid pid, pil.processid pname, v.id varid, v.variableid varname, v.value varvalue from processinstancelog pil, (select vil.variableid, max(vil.id) as maxvilid from variableinstancelog vil  group by vil.processinstanceid, vil.variableid) as x inner join variableinstancelog as v on v.variableid = x.variableid and v.processinstanceid = pil.processinstanceid and v.id = x.maxvilid) "dbSQL") "dbSQL"
...

Comment 9 Pavel Kralik 2015-10-21 07:29:26 UTC
Created attachment 1085026 [details]
postgresplus93 server log

Comment 10 Neus Miras 2015-10-21 17:53:29 UTC
It was related with the query to show the domain variables associated with a process instance. The query has been modified to run in the different db.
The commit is in this PR:

6.3.x
https://github.com/droolsjbpm/kie-wb-distributions/pull/122

Master
https://github.com/droolsjbpm/kie-wb-distributions/pull/123

I'll wait to change the status of the bz to Modified, until the PR merge.

Comment 12 Pavel Kralik 2015-11-06 10:31:29 UTC
BPMS 6.2.0.ER5