Skip to content

Unable to deploy process with boundary event without outgoing flows #33589

@korthout

Description

@korthout

, , , , ,

Description

Deploying a process with an attached boundary event fails in Camunda 8.

This is a just fine modeling construct, a BPMN element without outgoing flows is a token sink, consumes the token, in this particular diagram (attached), it completes the process.

We should relax the validation to improve BPMN compliance and interoperability with other BPMN tools (and portability to/from other workflow engines).

Image

Note that the rule probably exists because of our best-practices:

Modeling start and end events
Model the trigger and the end status of processes by always explicitly showing the start and end event symbols.

There already exists a linting rule to discourage users from using implicit end events.

Steps to reproduce

  1. model a process with a boundary event without any outgoing sequence flows
  2. deploy it
  3. notice the rejection

Current behavior

Deploying such a process is rejected.

Expected behavior

It should be possible to deploy and execute such a process correctly. Users should be discouraged by the modeler when not following our best-practices.

Environment

SaaS & SM

Version

  • Component Version: 8.0+

Rootcause

There's an explicit validation rule in BoundaryEventValidator:

if (element.getOutgoing().isEmpty() && !isValidCompensationBoundaryEvent(element)) {
validationResultCollector.addError(
0, "Must have at least one outgoing sequence flow or association");
}

Solution ideas

  • Remove the validation rule
  • Expand the test coverage

Dev -> QA handover

  • Resources:
  • Versions to validate:
  • Release version (in which version this feature will be released):

Links

Metadata

Metadata

Assignees

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions