From ae6102358a6d5be65a076a9de633131b4077bdaa Mon Sep 17 00:00:00 2001 From: egonzale Date: Tue, 26 Jul 2022 09:08:10 +0200 Subject: [PATCH] [JBPM-10100] [GSS] (7.12.0) Select from PROCESSINSTANCELOG takes too long --- .../src/main/resources/default-query-definitions.json | 2 +- .../integration/KieServerQueryDefinitionLoaderTest.java | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/main/resources/default-query-definitions.json b/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/main/resources/default-query-definitions.json index 2c139cd18f..f1f2b37f63 100644 --- a/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/main/resources/default-query-definitions.json +++ b/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/main/resources/default-query-definitions.json @@ -2,7 +2,7 @@ { "query-name": "jbpmProcessInstances", "query-source": "${org.kie.server.persistence.ds}", - "query-expression": "select log.processInstanceId, log.processId, log.start_date, log.end_date, log.status, log.parentProcessInstanceId, log.outcome, log.duration, log.user_identity, log.processVersion, log.processName, log.correlationKey, log.externalId, log.processInstanceDescription, log.sla_due_date, log.slaCompliance, COALESCE(info.lastModificationDate, log.end_date) as lastModificationDate, (select COUNT(errInfo.id) from ExecutionErrorInfo errInfo where errInfo.PROCESS_INST_ID=log.processInstanceId and errInfo.ERROR_ACK=0) as errorCount from ProcessInstanceLog log left join ProcessInstanceInfo info on info.InstanceId=log.processInstanceId", + "query-expression": "SELECT log.processInstanceId, log.processId, log.start_date, log.end_date, log.status, log.parentProcessInstanceId, log.outcome, log.duration, log.user_identity, log.processVersion, log.processName, log.correlationKey, log.externalId, log.processInstanceDescription, log.sla_due_date, log.slaCompliance, COALESCE ( info.lastModificationDate, log.end_date ) AS lastModificationDate, COUNT( errInfo.id ) errorCount FROM ProcessInstanceLog log INNER JOIN ExecutionErrorInfo errInfo ON errInfo.Process_Inst_Id=log.processInstanceId AND errInfo.ERROR_ACK=0 LEFT JOIN ProcessInstanceInfo info ON info.InstanceId=log.processInstanceId GROUP BY log.processInstanceId, log.processId, log.start_date, log.end_date, log.status, log.parentProcessInstanceId, log.outcome, log.duration, log.user_identity, log.processVersion, log.processName, log.correlationKey, log.externalId, log.processInstanceDescription, log.sla_due_date, log.slaCompliance, COALESCE ( info.lastModificationDate, log.end_date ) HAVING COUNT( errInfo.id ) > 0", "query-target": "CUSTOM" }, { diff --git a/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/test/java/org/jbpm/workbench/ks/integration/KieServerQueryDefinitionLoaderTest.java b/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/test/java/org/jbpm/workbench/ks/integration/KieServerQueryDefinitionLoaderTest.java index 7aefca5fc0..4146ba51a7 100644 --- a/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/test/java/org/jbpm/workbench/ks/integration/KieServerQueryDefinitionLoaderTest.java +++ b/jbpm-wb-kie-server/jbpm-wb-kie-server-backend/src/test/java/org/jbpm/workbench/ks/integration/KieServerQueryDefinitionLoaderTest.java @@ -74,14 +74,7 @@ public void setup() { public void testJbpmProcessInstances() { QueryDefinition expectedQuery = QueryDefinition.builder() .name("jbpmProcessInstances") - .expression("select log.processInstanceId, log.processId, log.start_date, " + - "log.end_date, log.status, log.parentProcessInstanceId, log.outcome, " + - "log.duration, log.user_identity, log.processVersion, log.processName, " + - "log.correlationKey, log.externalId, log.processInstanceDescription, " + - "log.sla_due_date, log.slaCompliance, COALESCE(info.lastModificationDate, log.end_date) " + - "as lastModificationDate, (select COUNT(errInfo.id) from ExecutionErrorInfo errInfo " + - "where errInfo.PROCESS_INST_ID=log.processInstanceId and errInfo.ERROR_ACK=0) as errorCount " + - "from ProcessInstanceLog log left join ProcessInstanceInfo info on info.InstanceId=log.processInstanceId") + .expression("SELECT log.processInstanceId, log.processId, log.start_date, log.end_date, log.status, log.parentProcessInstanceId, log.outcome, log.duration, log.user_identity, log.processVersion, log.processName, log.correlationKey, log.externalId, log.processInstanceDescription, log.sla_due_date, log.slaCompliance, COALESCE ( info.lastModificationDate, log.end_date ) AS lastModificationDate, COUNT( errInfo.id ) errorCount FROM ProcessInstanceLog log INNER JOIN ExecutionErrorInfo errInfo ON errInfo.Process_Inst_Id=log.processInstanceId AND errInfo.ERROR_ACK=0 LEFT JOIN ProcessInstanceInfo info ON info.InstanceId=log.processInstanceId GROUP BY log.processInstanceId, log.processId, log.start_date, log.end_date, log.status, log.parentProcessInstanceId, log.outcome, log.duration, log.user_identity, log.processVersion, log.processName, log.correlationKey, log.externalId, log.processInstanceDescription, log.sla_due_date, log.slaCompliance, COALESCE ( info.lastModificationDate, log.end_date ) HAVING COUNT( errInfo.id ) > 0") .build(); testQueryDefinitionLoaded(expectedQuery); }