kestra-io / kestra

:zap: Workflow Automation Platform. Orchestrate & Schedule code in any language, run anywhere, 500+ plugins. Alternative to Zapier, Rundeck, Camunda, Airflow...
https://kestra.io
Apache License 2.0
12.74k stars 1.1k forks source link

Investiguate changes on the execution that didn't goes to the executor #4826

Open loicmathieu opened 2 months ago

loicmathieu commented 2 months ago

Issue description

Today, some changes to the execution can be done directly by the webserver without going through the executor.

This means that there can be discrepancies between the executor state and the execution in database, this is particularly an issue with the Kafka runner as it stores the execution in a dedicated Kafka Stream state store but even in JDBC.

For example, when we delete an execution, this is a soft delete, so if the executor is still processing the execution it will "resurrect" the execution.

We need to investigate what we can do to synchronize all allowed changes on the execution to the executor, or restrict what we can do to an execution.

loicmathieu commented 2 months ago

A possible approach but which didn't fully solve the issue in its current state was evocated here: https://github.com/kestra-io/kestra/issues/4808