Skip to content

SonataFlow editor / diagrammer can't handle eventTimeoutΒ #3310

@michael-willingham

Description

@michael-willingham

The sonataflow editor seems to break when any eventTimeout is specified in a workflow file. The editor window goes completely blank, even though the workflow can run just fine.

I've replicated this issue in the VS Code extension, Serverless Logic Web tools / kubesmarts, and the Sonataflow management console - suggesting there is a bug in some base package. This happens for both yaml and json files. Other timeouts, such as workflowExecTimeout, stateExecTimeout, and actionExecTimeout do not seem to break the window.

To replicate, simply try any of the serverless workflow examples that have an eventTimeout, such as the switch_state_timeouts example:

{
  "id": "switch_state_timeouts",
  "version": "1.0",
  "name": "Switch State Timeouts Example",
  "description": "Simple process to show the switch state timeout working",
  "start": "PrintStartMessage",
  "events": [
    {
      "name": "visaApprovedEvent",
      "source": "",
      "type": "visa_approved_event_type"
    },
    {
      "name": "visaDeniedEvent",
      "source": "",
      "type": "visa_denied_event_type"
    }
  ],
  "functions": [
    {
      "name": "systemOut",
      "type": "custom",
      "operation": "sysout"
    }
  ],
  "states": [
    {
      "name": "PrintStartMessage",
      "type": "operation",
      "actions": [
        {
          "name": "printSystemOut",
          "functionRef": {
            "refName": "systemOut",
            "arguments": {
              "message": "${\"switch-state-timeouts: \" + $WORKFLOW.instanceId + \" has started.\"}"
            }
          }
        }
      ],
      "transition": "ChooseOnEvent"
    },
    {
      "name": "ChooseOnEvent",
      "type": "switch",
      "eventConditions": [
        {
          "eventRef": "visaApprovedEvent",
          "transition": "ApprovedVisa"
        },
        {
          "eventRef": "visaDeniedEvent",
          "transition": "DeniedVisa"
        }
      ],
      "defaultCondition": {
        "transition": "HandleNoVisaDecision"
      },
      "timeouts": {
        "eventTimeout": "PT30S"
      }
    },
    {
      "name": "ApprovedVisa",
      "type": "inject",
      "data": {
        "exitMessage": "Your visa was approved."
      },
      "transition": "PrintExitMessage"
    },
    {
      "name": "DeniedVisa",
      "type": "inject",
      "data": {
        "exitMessage": "Your visa was denied."
      },
      "transition": "PrintExitMessage"
    },
    {
      "name": "HandleNoVisaDecision",
      "type": "inject",
      "data": {
        "exitMessage": "No decision was made. The switch state did not receive any event, and the timeout has overdue."
      },
      "transition": "PrintExitMessage"
    },
    {
      "name": "PrintExitMessage",
      "type": "operation",
      "actions": [
        {
          "name": "printSystemOut",
          "functionRef": {
            "refName": "systemOut",
            "arguments": {
              "message": "${\"switch-state-timeouts: \" + $WORKFLOW.instanceId + \" has finalized. \" + .exitMessage}"
            }
          }
        }
      ],
      "end": true
    }
  ]
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    πŸ“‹ Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions