Set
polyflow.integration.collector.camunda.process-instance.enabled: true and use Camunda DefaultHistory.
Start a prcess (potentially only one service tasks that writes a log) and wait for the process to complete
Steps: When collection processInstances in the ProcessInstanceEventCollectorService the end functions switches depending on the state of the process instance. Currently only EXTERNALLY_TERMINATED and INTERNALLY_TERMINATED are mapped to CancelProcessInstanceCommand and FinishProcessInstanceCommand respectively while the COMPLETED is ignored. However if we complete a process instance normally the state COMPLETED is set.
See
DefaultHistoryEventProducer
protected void determineEndState(ExecutionEntity executionEntity, HistoricProcessInstanceEventEntity evt) {
//determine state
if (executionEntity.getActivity() != null) {
evt.setState(HistoricProcessInstance.STATE_COMPLETED);
} else {
if (executionEntity.isExternallyTerminated()) {
evt.setState(HistoricProcessInstance.STATE_EXTERNALLY_TERMINATED);
} else if (!executionEntity.isExternallyTerminated()) {
evt.setState(HistoricProcessInstance.STATE_INTERNALLY_TERMINATED);
}
}
}
Expected behaviour
The COMPLETED state should be mapped to a FinishProcessInstanceCommand.
Actual behaviour
The COMPLETED state is ignored
logger.debug { "Unknown end process instance event received $processInstance" }
Steps to reproduce
Set
polyflow.integration.collector.camunda.process-instance.enabled: true
and use Camunda DefaultHistory. Start a prcess (potentially only one service tasks that writes a log) and wait for the process to completeProcessInstanceEventCollectorService
the end functions switches depending on the state of the process instance. Currently onlyEXTERNALLY_TERMINATED
andINTERNALLY_TERMINATED
are mapped toCancelProcessInstanceCommand
andFinishProcessInstanceCommand
respectively while theCOMPLETED
is ignored. However if we complete a process instance normally the state COMPLETED is set.See
DefaultHistoryEventProducer
Expected behaviour
The
COMPLETED
state should be mapped to aFinishProcessInstanceCommand
.Actual behaviour
The
COMPLETED
state is ignoredlogger.debug { "Unknown end process instance event received $processInstance" }