The node has built in error handling. It distinguishes between recoverable errors and unrecoverable errors. Recoverable errors are errors that the node can recover from. This could be error like connection timeouts etc. Unrecoverable errors are errors the node cannot recover from. Examples for unrecoverable errors could be http 5xx errors thrown from a server indicating that there is a server error.
If a node receives a recoverable error from an adapter it will retry to send the data after the interval defined using the parameter retryDelay
defined in the adapter configuration. It will try to resend the data for n times where n is defined using the parameter numberOfRetries
in the adapter configuration. See EndpointConfig for more information about how to configure an endpoint.
If the node fails to send the data for numberOfRetries
times, it will through an unrecoverable error.
An unrecoverable error is an error from which the endpoint cannot recover. Since the order of the data might be important, the adapter will stop processing further data, allowing you to check the error and fix the problem. The data is buffered permanently and not lost. After fixing the error you can restart the node, which restarts the adapter. The adapter will then start processing the data it didn’t process and resend the data to the destination.
If you don’t want the adapter to stop you can use the configuration variable onErrorContinue
. Setting this parameter to true will cause the adapter to continue on unrecoverable errors. Use this setting with caution since requests when cause an unrecoverable error will be dropped.