Skip to main content

User Interface

The Error Handling Service ships with an Angular UI that is built during the Maven build and served by the Spring Boot backend under the base path /error-handling/. It is secured with OAuth2/OIDC (see Configuration).

Roles

Access to the UI and its actions is controlled with jEAP semantic roles:

RoleAllows
<systemname>_@error_#viewViewing errors (required to use the UI at all).
<systemname>_@error_#retryResending causing messages to their consumers.
<systemname>_@error_#deleteDeleting (logically closing / ignoring) errors.
<systemname>_@errorgroup_#viewViewing error groups.
<systemname>_@errorgroup_#editEditing the free text and Jira ticket number of error groups.

The backend checks hasRole(..), i.e. it is sufficient for a user to have the role for any business partner. Typically the roles are assigned as user roles for the internal business partner.

Error list

The error list is the main view and shows errors filtered by state — by default the permanent errors that need attention. Available filters: date range, message type, trace ID, event ID, stack trace (regular expression), source service, error state, error code, Jira ticket number, and a "no Jira ticket" checkbox that hides all errors whose error group already has a ticket assigned.

The defaults of the state filter and the "no Jira ticket" filter are configurable. The following view settings are persisted per user in the browser's local storage and take precedence over the configured defaults:

  • the "no Jira ticket" filter,
  • the selected error state filter,
  • the sort column and direction,
  • the page size.

The reset button drops the persisted settings and returns to the configured defaults. Rows can be selected for mass retry and mass delete; deleting asks for an optional closing reason that is stored on the error.

Error details

The details page of an error shows the failure data (error message, code, temporality, stack trace), the metadata of the causing message (type, publisher, topic, partition and offset, cluster), and the payload of the causing message deserialized to JSON — if the payload is not valid Avro (or encrypted), a fallback message is displayed instead. Actions on the details page: retry, delete/ignore, copy stack trace, and a deep link into the log system based on the trace ID (see Configuration).

All retry and delete actions are recorded in an audit log with the acting user (from the JWT token claims) and shown on the details page.

Error groups

The group view lists error groups with their error count, message type, source, error code, stack trace hash, first/latest occurrence and Jira ticket. The group details page allows editing the free text and the ticket number, creating a Jira ticket (with configured Jira integration) and jumping to the ticket in the ticketing system. The default sorting is configurable and locally overridable per user.