Reproducibility
runnable makes reproducibility easy without any intervention from the developer.
Execution of the pipeline, in any environment, generates a run log which stores meta information of the
execution.
Executions also stores the stdout and stderr
of the task at the log level used during the run.
Code identity¶
For non-container based executions, the git sha is captured along with
other necessary attributes.
Example¶
- Implies that the branch is not clean.
- Emits all the files that are different from the HEAD.
For container based executions, the container digest and name is captured.
Parameters¶
The input and output parameters at the point of execution of all the tasks is captured.
Example¶
Metrics¶
Any parameters marked as metrics are stored too.
Example¶
Data¶
Any files moved between tasks are stored in the catalog along with
meta information stored in the run log.
Example¶
Retrying failures¶
The structure of the run log remains the same independent of the executor used to execute.
This enables to debug failures during the execution in complex environments to be easily
reproduced in local environments and fixed.
Make the catalog and run log generated during the failed execution
accessible to the retry executor and the execution starts from the failed
step.
Refer to retry for more information.