This page details out error handling in Exalate application.
Exalate has a built-in error recovery mechanism which allows you to fix problems and resume the synchronization from the moment it failed.
Synchronization can fail at various levels such as:
- Network connectivity
- Authentication issues
- Configuration failures
- Compatibility problems
- Script errors
When Exalate raises an error synchronization is paused allowing an administrator to rectify the problem and resume operations.
Depending on the type of an error, synchronization is paused on one of the error levels:
- issue level
- connection level
- Exalate app
For instance, when Exalate detects a script error then the connection is paused. All other synchronizations which are not related to that particular connection can proceed as usual.
If there is an error such as a connectivity problem, all connections are paused until the connectivity problem is restored.
If the Exalate app has a problem, all synchronization is stopped.
In order to find a cause of the error we recommend to perform basic troubleshooting steps.
Check if the error you're facing is already described in the troubleshooting section.
Errors overview page
In the Exalate admin menu you can access the Errors tab to get an overview of errors.
To get the overview of all errors navigate to Errors tab from the Exalate admin menu.
Clicking on the Error in the errors list you can get detailed description of the error.
Error details include:
- error impact: whether it affects a certain issue or connection synchronization. It may affect the whole instance as well.
- related connection link
- error type
- error detail message: provides detailed description what's wrong
- error stack trace: helps to find the root cause of an error
You can access the connection from the error detail page to fix the script
In the very bottom you can also check the local and remote replica values. They are displayed as a prettified json file.
Below you can see how the replica values look.
Resolve and Retry
Once the error has been fixed, you check whether the fix works and proceed with the synchronization.
Use Resolve and Retry button which you can access from the errors list.
Decrease error impact
Exalate allows to decrease error impact level.
In case the error does not affect all issues that are under sync, you may change the error impact to the issue level. The synchronization will be blocked only for this specific issue.
The example below shows how the impact column looks on the errors list screen.
When an error is raised, a notification will be sent out to either the exalate-administrators group (if configured) or to the jira-administrators group.
There are 3 types of notifications:
- The in-app notification which brings up a pop-up window
- An email notification containing the error message
- A sync status highlighting that something went wrong
Sometimes you need to have a closer look at synchronization scripts to find out what's wrong.
You can debug errors from the scripts when error blocks the issue synchronization and requires Resolve and retry to run again.
Debugging can be used in Outgoing sync(data filter) and Incoming sync(create and change processor).
You can enable logging for Exalate app. For example on Jira Server, the log file is stored in <JIRA-HOME>/log directory.
It doesn't block the synchronization and requires the processor changes to run again.