Control / error · All operations
Stop the run with an error
A variant of Handle errors and retries
Fail the run on purpose, with a message, when a condition or row threshold is met.
Status
- In arcform
Not built yet
arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Alteryx Designer (1)
Error Messageread 2026-09-27Show an error from an expression in an app or macro and stop downstream processing
Apache Hop (2)
Abortread 2026-09-27Stop the running pipeline once a row threshold arrives, optionally logging an error
Abort workflowread 2026-09-27Stop the running workflow immediately
AWS Glue (1)
assertErrorThresholdread 2026-09-27Assert on the errors of the transformations that made the frame
Azure Data Factory (1)
Fail activityread 2026-09-27Throw an error on purpose, with a custom error message and error code
Duckle (1)
Die / Failread 2026-09-25fail the run with a message when a row-count condition holds
EasyMorph (1)
Halt/Warn on conditionread 2026-09-27Abort the run, or warn and continue, depending on a condition such as an empty table
Pentaho Data Integration (1)
Abortread 2026-09-27Stop the running transformation when rows reach this step
RapidMiner Studio (2)
Throw Custom Errorread 2026-09-27Raise a user-defined error from inside a custom operator
Throw Exceptionread 2026-09-27Raise an error with a given message and stop the process
Talend (2)
tDieread 2026-09-27Throw an error for tLogCatcher and kill the Job
tJobFailureread 2026-09-27Throw an exception with a given error type and message
Background
A fail-fast system immediately reports at its interface any condition that is likely to indicate a failure.[1] Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly flawed process.[1] In Azure Data Factory, a Fail activity throws an error in a pipeline on purpose, with an error message and an error code the author sets.[2]
When to use it
In Azure Data Factory, occasions for a Fail activity include a Lookup activity that returns no matching data, or a Custom activity that finishes with an internal error.[2] In EasyMorph, the Halt/Warn on condition action is meant to monitor data quality and to stop projects producing incorrect results or exporting incorrect data.[3] A fail-fast system that halts as well as reports the error is less likely to perform an irreversible or costly operation by mistake.[1] Finding the cause of a failure is easier in a fail-fast system, because the failure is reported with as much information as possible, as close to the time of failure as possible.[1]
In EasyMorph, a Halt condition that refers to a field needs a separate choice, Halt anyway or Do NOT halt, for a table that has no rows when the action runs.[3] In EasyMorph, a Halt condition must return TRUE or FALSE for each row, and if it returns an error instead, the action fails as well.[3] Decide what an empty input means before the run meets one: a missing extract and a quiet day can both arrive as no rows, and only one of them should stop the run. (Meridian's view) Write the message for the person who will read it at the failure: name the check that failed, the table it ran on and what was expected. (Meridian's view)
The method
The responsibility of a fail-fast module is detecting errors and then letting the next-highest level of the system handle them.[1] Fail-fast designs often check the system's state at several points in an operation, so that any failures can be detected early.[1]
In Apache Hop, the Abort transform aborts a running pipeline when rows reach it, and its Abort threshold sets how many: 0 stops after the first row, 5 after the sixth.[4] In Apache Hop, the Abort transform can always log the rows it processed, so the log shows which rows caused the pipeline to abort.[4] In Azure Data Factory, a Fail activity's message and error code can be dynamic content, evaluated at run time.[2] In RapidMiner, the Throw Exception operator makes the process fail with a user-defined message whenever it is executed.[5] In Talend, the tDie component triggers tLogCatcher, a component that collects log data, before killing the Job.[6]
Compared with the alternatives
A fail-fast error policy is, in some sense, the opposite of a fault-tolerant one, which keeps redundant components and moves requests to components still alive when one fails.[1] In EasyMorph, the Halt/Warn on condition action's Warn and continue mode displays a warning and lets the project continue, where its Halt mode stops the action chain.[3] Stop the run when a wrong result would travel further than a missing one; warn when a person can judge the result after the run has finished. (Meridian's view)
Sources
- [1]Fail-fast system - Wikipediasecondary source
- [2]Execute a Fail activity in Azure Data Factory and Synapse Analytics - Azure Data Factory & Azure Synapse | Microsoft Learndocumentation
- [3]HALT/WARN ON CONDITION [EasyMorph Help]documentation
- [4]Abort | Apache Hopdocumentation
- [5]Throw Exception - Rapidminer Documentationdocumentation
- [6]Logs and errors (Integration) components | Talend Components for Jobs Helpdocumentation