-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.13.0
-
None
Environment (Required on creation):
Camunda Engine 7.13+
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):
If DMN is disabled Camunda will not create the related tables, including ACT_RE_DECISION_REQ_DEF. However, on undeploying a process application the table will still be accessed by DeploymentCache.removeDeployment (last line):
public void removeDeployment(String deploymentId) { bpmnModelInstanceCache.removeAllDefinitionsByDeploymentId(deploymentId); if(Context.getProcessEngineConfiguration().isCmmnEnabled()) { cmmnModelInstanceCache.removeAllDefinitionsByDeploymentId(deploymentId); } if(Context.getProcessEngineConfiguration().isDmnEnabled()) { dmnModelInstanceCache.removeAllDefinitionsByDeploymentId(deploymentId); } removeAllDecisionRequirementsDefinitionsByDeploymentId(deploymentId); }
Steps to reproduce (Required on creation):
With a fresh DB disable DMN using `config.setDmnEnabled(false)` and then deploy and undeploy a process application.
Observed Behavior (Required on creation):
An exception is thrown because the table ACT_RE_DECISION_REQ_DEF does not exist.
Expected behavior (Required on creation):
No DMN tables are accessed when DMN is disabled.
Root Cause (Required on prioritization):
-
Solution Ideas (Optional):
The call to removeAllDecisionRequirementsDefinitionsByDeploymentId(..) should be moved up inside the `if (...isDmnEnabled())`.
Hints (Optional):
-
This is the controller panel for Smart Panels app
- is related to
-
CAM-13509 Consolidate duplicated code for definition removal from deployment cache
- Closed