Maintenance

Rebuilding of the Graph Database

Overview

In maintenance, the rebuild graph process is executed. This rebuilds XDM’s graph database, by re-reading and storing all XDM objects. This maintenance is by no means a system update. It is used to ensure the consistency of the system.

Preparation

It is extremely important that no XDM objects are modified during maintenance. You must ensure that no user has access to XDM at this time. In addition, no scheduled tasks should be executed. Neither by XDM itself, nor by external schedulers.

If the XDM database is modified through other actions during this process, inconsistencies can arise which make the system unstable. In the worst case, the entire XDM installation must be renewed.

Initiating the Rebuild

If you are sure that no tasks are being executed on the installation, then log in as a user who has the administrator role. In the System Settings, open the tab System Configuration. The button Rebuild Graph starts the rebuilding of the database.

Technical Background

The graph database manages XDM’s own dependencies. A graph database is a type of database used to store and manage highly interconnected information. XDM uses this to model, store and make use of the many relationships between XDM objects.

The rebuild graph function rebuilds this database. The database is dropped completely and rebuilt. It is therefore extremely important that no changes are made to XDM objects during this process.

Make sure that XDM does not execute any workflows, data-shop orders, or tasks. Also ensure that no external scheduler initiates a task on the system.

This process can take some time, depending on the amount of data.

Check Admin Database

This database stores all XDM objects. It also contains the history data for those objects. XDM uses a relational database for this purpose.

The Check Admin Database option in the System Settings checks the validity of the XDM objects. This ensures that all XDM objects can be displayed and used correctly.

Automated Deletion of Tasks, Workflows and corresponding Executions

Overview

Using XDM could accumulate created tasks or workflows and corresponding executions over time, which may use valuable resources and complicate one’s own overview. In order to facilitate your work with XDM, there are several methods to automatically delete obsolete executions.

Delete Execution File on Success

Clears the task working directory at the end of the copy, if the copy is successful. The task execution remains in the list. Refer to Delete working file on success for more information about the task property.

Execution Retention Period

Deletes the task execution from the list after a retention period that is set in the task. The retention period becomes only active, if it is set before executing the task. The property is not applied to existing task executions. Refer to Execution retention period for more information about this task property.

It is recommended, that this task parameter should be set globally for all task templates using a custom default value.

Hooks Delete expired workflows and "Delete expired tasks

The hooks <../GuidesAndRepositories/index.adoc#delete-expired-tasks, Delete expired tasks>> and <../GuidesAndRepositories/index.adoc#delete-expired-workflows, Delete expired workflows>> delete the implicitly created tasks and workflows and the executions attached to them. Existing objects are also deleted. This option is of particular interest when using data shops and runTemplate calls in workflows.

In summary, we would recommend using the hooks for deletion, since they work retrospectively and also delete the task and workflow objects that arise over time. The task hook can be configured as hook usage on the template. This should be the case for most, but it should be checked again everywhere and the time periods should be adjusted accordingly. The workflow hook is invoked via a runHook() call in the workflow itself.