Steps to reproduce:
- Use Camunda 7.12 in a shared engine setup
- Deploy a process application that contains
- 10 BPMN process models, and
- for each BPMN process model there are already 100 versions of that process definition are available (so that there are 1.000 process definitions in the table ACT_RE_PROCDEF)
Expected behavior:
- The DeploymentCache does not contain any bpmnModelInstances.
Observed behavior:
- The DeploymentCache contains 1.000 bpmnModelInstances.
Hint:
- With
CAM-10258, a DefaultDeploymentHandler has been implemented. The DefaultDeploymentHandler determines the deployment ids to resume: https://github.com/camunda/camunda-bpm-platform/blob/1d19ab6b79868a1e9b98b7046dd1cd9f7abd7a26/engine/src/main/java/org/camunda/bpm/engine/impl/repository/DefaultDeploymentHandler.java#L61-L62 - Because of using the ProcessDefinitionQuery the corresponding BPMN process model gets parsed and cached.
- Workaround: the process engine configuration flag enableFetchProcessDefinitionDescription can be set to false.
- With 7.11, to get the deployment ids a dedicated SQL select statement was used: https://github.com/camunda/camunda-bpm-platform/blob/7.11.0/engine/src/main/java/org/camunda/bpm/engine/impl/cmd/DeployCmd.java#L630-L631