holunda-io / camunda-bpm-taskpool

Library for pooling user tasks and process related business objects.
https://www.holunda.io/camunda-bpm-taskpool/
Apache License 2.0
68 stars 26 forks source link

Process Instance Collection with COMPLETED state #948

Closed MichaelVonB closed 7 months ago

MichaelVonB commented 7 months ago

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 complete

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" }