Error processing¶
Sometimes an error can occur during the execution of a scenario. This mostly happens if a service is unavailable due to a failure to connect to a service or if validation fails. Below we describe the common errors that you may encounter.
Error types¶
Ibexa Connect distinguishes between several basic error types. It will react differently depending upon the type of error that occurred.
Connection error¶
ConnectionError
The connection error is one of the most common errors usually caused by the unavailability of the third-party service for various reasons (overloading, maintenance, outage, etc.). The default handling of this error depends on which module it was encountered on:
-
If the error occurs on the first module, the execution of the scenario is terminated with a warning message. Ibexa Connect then repeatedly attempts to rerun the scenario at increasing time intervals. If all attempts fail, Ibexa Connect deactivates the scenario.
-
If the connection error occurs on another module than the first one, the subsequent steps depend on the Allow storing incomplete execution option in the scenario advanced settings:
-
If this option is enabled, the execution of the scenario is moved to the Incomplete executions folder where Ibexa Connect repeatedly attempts to rerun the scenario at increasing time intervals. If all attempts fail, the execution will remain in the Incomplete executions folder awaiting manual resolution by the user.
-
If the option is disabled, the execution of the scenario ends with an error followed by a rollback phase. Ibexa Connect then repeatedly attempts to rerun the scenario at increasing time intervals. If all attempts fail, Ibexa Connect deactivates the scenario.
-
Increasing time intervals¶
The algorithm of multiplicatively increasing time intervals between attempts when an error occurs is known as Exponential backoff. The increasing time intervals are set as follows:
-
10 minute
-
1 hour
-
3 hours
-
12 hour
-
24 hour
Note
The main reason for employing the increasing time intervals in Ibexa Connect is to prevent frequently executed scenarios to consume operations on repeatedly failing attempts.
Example
Imagine, your scenario contains the Google Photos trigger Watch photos and videos. However, the Google Photos service is unavailable for 30 minutes due to maintenance. As you can guess when Ibexa Connect starts the scenario, Google Photos is unable to retrieve new photos or videos. The scenario stops and tries again in 10 minutes. As the service continues to be unavailable within this time frame, Ibexa Connect is still unable to get information about new photos. The next run of the scenario is scheduled in 1 hour. The Google Photos service is available again within this time and the scenario runs as expected.
Data error¶
DataError
A data error is generated when an item is incorrectly mapped and does not pass the validation performed on the Ibexa Connect side or on the side of the third-party service being used.
If this error occurs, the scenario, up to where the module failed, is moved to the Incomplete executions folder where you can troubleshoot the issue. However, the scenario does not stop and continues to run according to its schedule. To stop the execution of the scenario when a Data error appears, enable the Sequential processing option in the scenario settings.
If you have not enabled the Allow storing incomplete executions option in the scenario settings, the execution of the scenario terminates with the error and a rollback is performed.
Example
If your scenario contains the Twitter action Create a tweet, Twitter's 140-character limit for a tweet cannot be exceeded. If you try to tweet more than 140 characters, the execution of the scenario will terminate with a data error.
Duplicate data error¶
DuplicateDataError
If Ibexa Connect tries to insert the same bundle twice into a service that does not allow duplicate data, a duplicate data error is generated. If this error occurs, Ibexa Connect proceeds in the same way as it does for the data error.
Example
A scenario containing the Twitter action, Create a tweet will terminate with this error if Ibexa Connect tries to insert the same tweet twice.
Invalid access token error¶
InvalidAccessTokenError
An invalid access token error occurs when Ibexa Connect cannot access your account registered with a third-party service. This mostly happens when you revoke access rights for Ibexa Connect in the administration of a given service but related scenarios keep running according to schedule.
If this error occurs, the execution of a scenario is stopped immediately. The rest of the scenario starting from the module where the error occurred is moved to the Incomplete executions.
Rate limit error¶
RateLimitError
If a limit set by a given service is exceeded, a rate limit error is generated. If this error happens, Ibexa Connect proceeds in the same way as it does for the ConnectionError.
Incomplete data error¶
IncompleteDataError
An incomplete data error occurs only with triggers. This error is generated if a trigger fails to download required data from a given service.
If a scenario terminates with the IncompleteDataError, its further behavior will depend on its setting of Max number of consecutive errors.
Example
Imagine, you have a scenario with the Google Photos trigger Watch photos and videos. If the scenario is executed while you are uploading photos or videos to a selected album, Ibexa Connect might try to download a file that is just being uploaded to Google Photos (e.g. a long video). If this happens, the scenario will terminate with the IncompleteDataError.
Run time error¶
RuntimeError
If any other error (not mentioned above) appears during scenario execution, it is reported as a RunTimeError.
If a scenario terminates with the RuntimeError, its further behavior will depend on its setting of Max number of consecutive errors.
Note
If a scenario starts with an instant trigger, the setting of Max number of consecutive errors is ignored and the scenario is deactivated immediately once the first error has occurred.
Inconsistency error¶
InconsistencyError
If any error described above occurs during the commit or rollback phase, a scenario will terminate with an Inconsistency Error.
If this error appears in a scenario, the execution of the scenario is immediately stopped.
Warning¶
While executing a scenario, you may receive a warning informing you about a problem. However, it does not prevent the scenario from being successfully completed.
For example, a warning can appear when the maximum allowed file size is exceeded and the Enable data loss option is disabled.