The Data Archiving Library allows you to specify what your pipeline will do when an error occurs in your User Defined Function (UDF) implementation. The Data Archiving Library will invoke the error handling strategy when:
- A UDF implementation throws a non-parsable message
- A UDF implementation returns an unchecked/runtime exception
- A UDF implementation returns null
- An indexing attribute value does not pass the Data Archiving Library's validation rules. For more information, see Validation Rules for Indexing Attributes
The error handling strategy you choose does not apply to error scenarios in a User-Defined Function's
merge() function. This is because the
merge() function is only used for the Data Archiving Library's internal optimization process of compaction. Any failures in this process will not fail your archiving pipeline.
To specify an error handling strategy, update the
application.conf file. For information about the
application.conf file, see Configure Your Application.
You can choose one of the following error handling strategies:
fail- The pipeline fails on any error from a User-Defined Function's implementation. The pipeline logs the action.
ignore- The pipeline ignores the messages that encounter an error in a User-Defined Function's implementation. The pipeline logs the action and continues processing the next message. This is the default strategy.
deadletter- The pipeline archives messages that encounter an error in a User-Defined Function's implementation. The messages are archived in a dead letter index layer, and processing continues. See the following section for more information about using this strategy. See Using the Dead Letter Strategy for more information.