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

Suspend state is not imported via userOperationsLog

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Done
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 3.1.0
    • Component/s: backend
    • Labels:
      None

      Description

      Context:
      See OPT-3497

      Currently, we cannot distinguish whether process instances are suspended when process definitions are suspended. We are working on a fix of that on the engine side, after that has been implemented the import needs adjusted to read the new operations log correctly.

      AT:

      Hint:

      Here are the different use-cases from CAM-11723 and how you could distinguish them in the user operations log:

      • 1 - suspend process instances:
        • 1A - by process instance id:  operationType: "Suspend"/"Activate", entityType: "ProcessInstance", newValue: "suspended"/"active", processDefinitionKey: "someKey", processDefinitionId: "someProcessDefinitionIdFoo", processInstanceId: "someProcInstId123"
        • 1B - by process definition id: operationType: "Suspend"/"Activate", entityType: "ProcessInstance", newValue: "suspended"/"active", processDefinitionKey: "someKey", processDefinitionId: "someProcessDefinitionIdFoo", processInstanceId: null
        • 1C - by process definition key: operationType: "Suspend"/"Activate", entityType: "ProcessInstance", newValue: "suspended"/"active", processDefinitionKey: "someKey", processDefinitionId: null, processInstanceId: null
      • 2 suspend process definition:
        • 2A - by process definition id: operationType: "SuspendProcessDefinition"/"ActivateProcessDefinition", entityType: "ProcessDefinition", property: "includeProcessInstances", newValue: "true"/"false", processDefinitionKey: "someKey", processDefinitionId: "someProcessDefinitionIdFoo", processInstanceId: null
        • 2B - by process definition key: operationType: "SuspendProcessDefinition"/"ActivateProcessDefinition", entityType: "ProcessDefinition", property: "includeProcessInstances", newValue: "true"/"false", processDefinitionKey: "someKey", processDefinitionId: null, processInstanceId: null
      • 3 - suspend process instances via batch:
        • 3A - by process instance ids: operationType: "SuspendJob"/"ActivateJob", entityType: "ProcessInstance", property: "nrOfInstances"/"async", newValue: "12"/"true"/"false", processDefinitionKey: null, processDefinitionId: null, processInstanceId: null
        • 3B - by query, etc: same as by process instance ids -> one solution for this scenario could be a reimport of all running process instances

       

      Limitation:
      The suspension of definitions API (cases of 2A and 2B described above) offers the optional parameter `executionDate`, which adds the option to trigger a delayed suspension. This parameter is not documented in the user operation log and for now, we will ignore it. We are going to reimport all instances related to suspended definitions at the time when we detect a definition suspension operation, though if `executionDate` implies a later suspension, those instances will not be suspended yet at the point of reimport, and we currently do not have a way to trigger a new import whenever the instances actually are suspended. They will be updated whenever the running instances are reimported due to other operations, which can lead to a delayed instance state update on our side.

       

        mgm-controller-panel

        This is the controller panel for Smart Panels app

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                Unassigned Unassigned
                Reporter:
                sebastian.bathke Sebastian Bathke
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Salesforce