Skip to main content
Version: 8.9 (unreleased)

Process instance deletion

Use process instance deletion to permanently remove all data associated with a completed or terminated process instance.

warning

Deletion is irreversible. You can restore deleted data only by restoring a backup of your cluster.

Delete a process instance using the Orchestration Cluster API.

note

You can also delete a process instance in Operate. See the Operate user guide.

Limitations

You can delete only process instances in a completed or terminated state. This preserves consistency and integrity within the system.

If a process instance is still active, cancel it first using the cancel process instance API.

Limitations with call activities

When process instances are linked through call activities, deletion is scoped to the selected instance only. Related parent or child process instances are not deleted automatically.

Delete a called process instance

If you delete a process instance that was created by a call activity, the parent process instance is not affected. Only the called process instance data is deleted.

In Operate, the parent process instance remains visible, but you can’t navigate to the deleted called process instance.

Delete a parent process instance

If you delete a parent process instance that contains a call activity, the called process instance is not affected. Only the parent process instance data is deleted.

In Operate, the called process instance remains visible, but navigating to it shows an empty screen.

Eventual consistency

Process instance deletion runs asynchronously. Depending on how many process instances you delete, it can take time for the data to be removed and for the process instance to disappear from Operate.

Technical details

This section explains how process instance deletion is handled internally to help you understand timing and consistency behavior.

Deleting one or more process instances uses batch operations.

The Zeebe engine queries secondary storage for process instances to delete. For each instance found, the engine writes a delete command to the log, which results in a deleted event.

Exporters consume the deleted event and write a record to secondary storage to mark the process instance for deletion. An asynchronous scheduled task then deletes all data associated with each marked process instance.