Appboard/2.5/builder/errors: Difference between revisions

imported>Jason.nicholls
imported>Jason.nicholls
Line 45: Line 45:
=== Server-Side Error ===
=== Server-Side Error ===


[[File:appboard-2.5-error-comms-failure.png|frame|right|Example communications failure]]
This type of error encapsulates all errors that can occur on the server side. These may be due to communications issues to the data source, authentication issues, invalid queries, unexpected responses, missing files, missing JDBC drivers, etc...
This type of error encapsulates all errors that can occur on the server side. These may be due to communications issues to the data source, authentication issues, invalid queries, unexpected responses, missing files, missing JDBC drivers, etc...



Revision as of 08:53, 28 October 2014

Overview

AppBoard consists of both a client component, the Builder or Viewer, and a server component. Errors can occur in a variety of circumstances both on the client and the server, sometimes these are very straight forward, and other times it can be a challenge to follow what is happening with complex deployments and many things happening at once.

This document is not a comprehensive guide to every error message as many are straight forward and directly tied to some action performed within the Builder. Instead this document focuses on errors that occur during communications between the client and server when trying to fetch data. This would be due to previewing data collections, viewing a board, and in the background due to data collection polling.


Template-note.png
The behaviour of the Viewer is configurable, see the Client Behaviour section below. Also administrators receive more information in these types of errors versus a non-administrator user.

Client Behaviour

In the event of an error condition the client should continue to work correctly. Active Data Collections set to poll will get re-polled on the next interval. For one-off polls, such as Data Collection preview, these are not automatically retried.

Administrator users in the Builder will always see all error messages. Some suppression is used to avoid the same error message popping up twice, or popping up within 30 seconds of the previous occurrence.

In the Viewer when Kiosk Mode is enabled all error messages are suppressed.

In the Viewer when logged in as a non-administrator then error messages are displayed, however only limited information is shown. Optionally the system administrator can modify the client configuration file to suppress all error messages in the Viewer:

  • Edit [INSTALL_HOME]/server/webapps/enportal/visualizer/assets/config.xml
  • Find the attribute viewerHideErrors and set this to true
  • Reload the client - a server restart is not required.

Both the Builder and Viewer feature a client timeout which is configurable. This is the number of seconds the client will wait for a response from the AppBoard server.

  • Edit [INSTALL_HOME]/server/webapps/enportal/visualizer/assets/config.xml
  • Find the attribute timeout and set this to the desired value in seconds. The default value is 120.
  • Reload the client - a server restart is not required.

Types of Data / Communication Errors

There are three main types of data and communications errors that can occur.

Client Timeout

Example client timeout error message

A client timeout occurs when the client was able to issue a request but the server cannot deliver the response quick enough. Unless the server itself is completely overloaded this type of error is typically because the data source itself is taking a long time to respond.

The client has a timeout so that data polls aren't completely blocked by a slow request. This gives other requests a chance to get issued. The duration is configurable, see the Client Behaviour section above for more details.

Generally a deployment should be designed such that users aren't waiting on slow queries to drive the dashboards. This error message can help to identify the slow queries so caching and polling values can be tweaked, or other optimizations done to improve the response.

Server-Side Error

File:Appboard-2.5-error-comms-failure.png
Example communications failure

This type of error encapsulates all errors that can occur on the server side. These may be due to communications issues to the data source, authentication issues, invalid queries, unexpected responses, missing files, missing JDBC drivers, etc...

In order for the client to show a server-side error then the server needs to respond within the client timeout.

Communication Failure

If the client cannot communicate with the server at all this message is shown. This type of error may occur due to a networking issue, e.g. wireless down or cable unplugged, or it could be due to the AppBoard server going offline.