Types of Errors
Most of the errors you will encounter when working with Kinetic Task fall into one of two categories: Node/Handler errors and Connector errors.
Node/Handler errors can occur when a node is configured incorrectly, when the handler is unconfigured, when there is a bug in the Handler code, when the system the Handler integrates with is unavailable, or a variety of other reasons.
Connector errors occur when the expression of a Connector can not be evaluated because of invalid syntax or bad data.
Errors can be found when looking at the run details page.
They can also be found on the errors list page. To get here click the Activity tab on the top and the Errors tab on the left.
In either location, clicking the Error # link will take you to the error details page for that error.
Kinetic Task gives us some options in dealing with these types of errors when they occur.
Handling Node Errors
In our first example we will take a look at a Node error. Here is a screenshot of the error details page for the error that occurred.
At the top we have some information about the tree (source, group, and tree name) and the source id. There is also a link to the tree builder for this tree.
Under the details tab there is some basic information about the error (type, when it occurred, status, and a link to the run it occurred in).
If the error is unresolved there will be a Resolve Error form displayed.
Finally there is an error details section. The error details section contains the actual error message from the code. It may also contain stack traces and other troubleshooting information.
Below is a screenshot of the tree and the Node configuration that caused this error.
Looking at the error details we can see that the error occurred because there was a problem with the "input" parameter. The error details also tell us the problem was @source does not contain the "Namee" variable.
If we go back to the tree, open that node's configuration, and re-select the value from the Pre-defined values menu we can see that this is a simple typo and it should be @source['Name'] rather than @source['Namee'].
Now that we have identified and fixed this error we will discuss resolution options for this error. Below are screenshots of the Resolve Error form for the error.
Resolving an error essentially acknowledges that the error has been looked at and marks it as resolved. This means that it will no longer appear on the errors list page (which only shows active errors).
The Notes field is used to store information about the error and/or how it was handled.
Some types of errors also allow for the selection of an Additional Action.
Handler/Node errors have three types of additional actions: Do Nothing, Retry Task, or Skip Task (discussed below).
The Do Nothing action will result in no further processing of the tree. This is generally used when you would just rather re-run the entire tree after the issue has been fixed.
The Retry Task action will have the Task Engine attempt to re-run the tree, starting at the Node that the error occurred. This is helpful when you want to test that the change actually fixed the issue. Note that if this results in another error, the current error is still marked as resolved and a new error is created.
The Skip Task action will have the Task Engine start processing the tree again, but starting with the children of the Node where the error occurred. This is helpful when you want to continue the process but the action the Node/Handler was to perform was performed manually.
Once you have selected the additional action and filled out the notes, click the Resolve Error button. When the error is resolved, the error details page will be refreshed. If you selected one of the additional actions that restarts the process click the Run # link to view the progress.
If you would like to review your resolution notes or the additional action select the Resolution tab.
Handling Connector Errors
Now we will take a look at a Connector error. Below is a screenshot of a Connector error that occurred.
The contents of the error details page are essentially the same as the node error shown above.
Below is a screenshot of the tree and the specific Connector that caused this error.
Looking at the first line of the details section we can see that the error was a Syntax Error. Reading further we can see that the invalid syntax was due to an unterminated string. In the connector configuration above we can see that there is a quote before the Playground text but not after, leading to the syntax error.
Next we will resolve the error. Resolving a Connector error is the same as resolving the node error above, except we have some different choices regarding the Additional Action field.
Connector errors have two types of management actions: Continue Branch and Cancel Branch.
To understand these actions it is helpful to look at the tree where the Connector error occurred. When selecting one of these actions we are basically telling the Task Engine how the Connector should have evaluated (true or false).
The Continue Branch action will have the Task Engine treat the Connector as if it evaluated to true, processing the nodes along the rest of that branch.
The Cancel Branch action will have the Task Engine treat the Connector as if it evaluated to false, meaning that nodes along that branch of the tree will not be processed.