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-27

    Show an error from an expression in an app or macro and stop downstream processing

Apache Hop (2)
  • Abortread 2026-09-27

    Stop the running pipeline once a row threshold arrives, optionally logging an error

  • Abort workflowread 2026-09-27

    Stop the running workflow immediately

AWS Glue (1)
Azure Data Factory (1)
  • Fail activityread 2026-09-27

    Throw an error on purpose, with a custom error message and error code

Duckle (1)
  • Die / Failread 2026-09-25

    fail the run with a message when a row-count condition holds

EasyMorph (1)
  • Halt/Warn on conditionread 2026-09-27

    Abort the run, or warn and continue, depending on a condition such as an empty table

Pentaho Data Integration (1)
  • Abortread 2026-09-27

    Stop the running transformation when rows reach this step

RapidMiner Studio (2)
  • Throw Custom Errorread 2026-09-27

    Raise a user-defined error from inside a custom operator

  • Throw Exceptionread 2026-09-27

    Raise an error with a given message and stop the process

Talend (2)
  • tDieread 2026-09-27

    Throw an error for tLogCatcher and kill the Job

  • tJobFailureread 2026-09-27

    Throw 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)