Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-3634

Handle process and decision deletion in an improved way

    XMLWordPrintable

Details

    Description

      In the situation described in here: https://docs.camunda.org/optimize/latest/technical-guide/optimize-explained/engine-data-deletion/#manual-deletion-of-deployments-definitions there is currently no easy way to recover for users to a stable system in certain scenarios.

      1. There were two unfinished process instances in Camunda and Optimize.

      2. I removed process and all process instances on Camunda, as this is a test environment.

      3. I redeployed the diagram and started creating new data.All seemed fine except that the two initial process instances are still in Optimize and breaking up my statistics.Just a few minutes ago we even saw that the server logs was filled completely with error logs of Optimize trying to get details of the removed process instances.

      The error:

      Caused by: org.camunda.bpm.engine.exception.NullValueException: no deployed process definition found with id 'Process_0tmap02:2:61737386-8ea7-11ea-9f09-42010af0002a': processDefinition is null
              at jdk.internal.reflect.GeneratedConstructorAccessor97.newInstance(Unknown Source)
              at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
              at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
              at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
              at org.camunda.bpm.engine.impl.util.EnsureUtil.generateException(EnsureUtil.java:381)
              at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:55)
              at org.camunda.bpm.engine.impl.util.EnsureUtil.ensureNotNull(EnsureUtil.java:50)
              at org.camunda.bpm.engine.impl.persistence.deploy.cache.ProcessDefinitionCache.checkDefinitionFound(ProcessDefinitionCache.java:47)
              at org.camunda.bpm.engine.impl.persistence.deploy.cache.ProcessDefinitionCache.checkDefinitionFound(ProcessDefinitionCache.java:28)
              at org.camunda.bpm.engine.impl.persistence.deploy.cache.ResourceDefinitionCache.findDeployedDefinitionById(ResourceDefinitionCache.java:55)
              at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.findDeployedProcessDefinitionById(DeploymentCache.java:77)
              at org.camunda.bpm.engine.impl.cmd.GetDeploymentProcessModelCmd.execute(GetDeploymentProcessModelCmd.java:53)
              at org.camunda.bpm.engine.impl.cmd.GetDeploymentProcessModelCmd.execute(GetDeploymentProcessModelCmd.java:37)
              at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:28)
              at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:107)
              at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:46)
              at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
              at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:44)
              at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:70)
              at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
              at org.camunda.bpm.engine.impl.RepositoryServiceImpl.getProcessModel(RepositoryServiceImpl.java:284)
              at org.camunda.bpm.engine.rest.sub.repository.impl.ProcessDefinitionResourceImpl.getProcessDefinitionBpmn20Xml(ProcessDefinitionResourceImpl.java:256)
              ... 71 more
      

      Potentially there are better ways in Optimize to handle this, e.g. recognize that a process definition was deleted in the engine based on the history in the engine.

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Issue Links

            Activity

              People

                Unassigned Unassigned
                felix.mueller Felix Mueller
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Salesforce