Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Controlled Commit States #4835

Open
Tracked by #4833
sfmskywalker opened this issue Jan 24, 2024 · 0 comments
Open
Tracked by #4833

Controlled Commit States #4835

sfmskywalker opened this issue Jan 24, 2024 · 0 comments
Labels
elsa 3 This issue is specific to Elsa 3
Milestone

Comments

@sfmskywalker
Copy link
Member

Objective:
To enhance the current workflow execution process by introducing the concept of "commit points". This will allow for more frequent and controlled persistence of workflow state to the database, beyond the existing default behaviour of persisting only upon completion or when blocked.

Background:
Currently, workflows are executed in-memory and are persisted to the configured data store only upon completion or in scenarios where they can no longer proceed (e.g., due to blocking activities). This approach, while efficient, lacks the flexibility to capture interim states of the workflow during its execution, potentially leading to data loss or inconsistency in case of unexpected interruptions.

Requirements:

  1. Configurable Commit Points for Workflows:

    • Introduce a setting at the workflow level to specify commit behaviour. This includes:
      • Persisting the workflow state to the database before execution begins.
      • Persisting after every activity within the workflow.
      • Persisting after activities designated as "commit points".
  2. Commit Settings for Individual Activities:

    • Implement an option for each activity within a workflow where users can specify:
      • Committing the workflow state to the database before the execution of the activity.
      • Committing after the activity has been executed.

Expected Benefits:
This feature will provide users with greater control over the persistence of workflow states, enhancing reliability and data integrity. It allows for recovery of workflows to a more recent state in case of interruptions, thereby reducing the risk of data loss and improving overall system resilience.

@sfmskywalker sfmskywalker added the elsa 3 This issue is specific to Elsa 3 label Jan 24, 2024
@sfmskywalker sfmskywalker added this to the Elsa 3.1 milestone Jan 24, 2024
@sfmskywalker sfmskywalker modified the milestones: Elsa 3.1, Elsa 3.2 Mar 28, 2024
@sfmskywalker sfmskywalker modified the milestones: Elsa 3.2, Elsa 3.3 May 28, 2024
@sfmskywalker sfmskywalker modified the milestones: Elsa 3.3, Elsa 3.4 Jun 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
elsa 3 This issue is specific to Elsa 3
Projects
Status: In Progress
Development

No branches or pull requests

1 participant