Error Handling, Filtering, and Scenario Reliability
Error Handling Strategies
Fusion provides error handlers on modules: Break (stop and retry), Resume (provide fallback output), Ignore (skip), Rollback (undo), and Commit (finalize). Directives like ignore or break can be set. Filters prevent bundles from proceeding based on conditions (e.g., status equals "Complete"). Error handling can be global via scenario settings (e.g., allow incomplete executions). Retries are automatic for some errors; configure number of cycles and interval for polling triggers.
Reliability Best Practices
- Use filters to avoid unnecessary operations and errors.
- Implement error handlers on critical modules.
- Enable incomplete executions storage to debug failures.
- Use break with retry for transient errors (e.g., API timeouts).
Traps in Questions
- Filter vs. error handler: Filters stop bundles silently; error handlers catch module errors.
- Break vs. Resume: Break stops and retries; Resume continues with fallback data.
- Scope of error handler: Applies only to the module it's attached to; errors in subsequent modules aren't caught.
- Incomplete executions: Must be enabled in scenario settings to store failed bundles.
Worked Example / Rule of Thumb
Rule of thumb: "Filter early, handle errors locally, and log failures." For example, a filter allows only bundles with status "New" to proceed. An error handler on an HTTP module uses Break with 3 retries for timeouts. Incomplete executions are enabled to review failures.