We couldn't load all Actvitity tabs. Refresh the page to try again.
If the problem persists, contact your Jira admin.
Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-3634

Handle process and decision deletion in an improved way

      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.

        This is the controller panel for Smart Panels app

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

            Handle process and decision deletion in an improved way

                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.

                  This is the controller panel for Smart Panels app

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

                          Created:
                          Updated:
                          Resolved:

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

                                Created:
                                Updated:
                                Resolved: