Validation of the archive domain graph

The PolicyCenter server performs a series of tests on the archive domain graph during startup. For some of these tests, failure prevents the server from starting. For other tests, failure allows the server to start with warnings. These tests uncover potential problems with the archive domain graph. You can then use these warnings to fix issues with the archive domain graph.

PolicyCenter writes any issues that it finds with the archive domain graph to the application and console log during server startup. You can also view non-fatal warnings in the Warnings tab of the Server Tools Domain Graph Info screen.

Important: Guidewire strongly recommends that you review the Warnings tab on the Domain Graph Info screen for possible issues every time you change the data model.

Graph validation errors that prevent the server from starting

The following list describes validation tests that PolicyCenter performs on the archive domain graph during startup.

Test

Description

Domain graph not partitioned

Verifies that all tables in the archive domain graph are reachable through the root entities.

Edge tables in domain graph have required foreign keys

Verifies that if edgeTable is set on an entity in the archive domain graph, it must have all of the following:

  • An owned foreign key back to one of its parents
  • An unowned foreign key to that same parent.

No cycles in domain graph

Looks for circular references in the archive domain graph. Circular references in the graph cause issues for the archive process.

The archive domain graph cannot have any cycle in its "owned by" relationships. Thus, the following example fails validation:

A is owned by B is owned by C is owned by A

You need to resolve any cycles by sorting out the ownership relationships.

The server reports the error and prints the graph problem in DOT format. See Viewing the archive domain graph for information on how to view the graph in a graphical format.

Domain graph entities implement Extractable

Ensures that all entities inside the archive domain graph implement the Extractable delegate. PolicyCenter uses the following column on Extractable during the archive process:

  • ArchivePartition

This test also verifies that no entities outside the archive domain graph implement the Extractable delegate.

Overlap tables implement OverlapTable

Verifies that all overlap tables implement the OverlapTable delegate. An overlap table contains rows that can exist either in the archive domain graph or as part of reference data, but not both. Overlap tables must implement the following delegates:

  • Extractable
  • OverlapTable

Entities in domain graph keyable

Verifies that all entities in the archive domain graph are keyable. This requirement enables you to reference the entity by ID.

Reference entities retireable

Verifies that all reference entities in the archive domain graph are retireable. See The archive domain graph and reference data as to why this is important.

Exceptions to links from outside the domain graph are outside the domain graph

Verifies that exceptions to links from outside the archive domain graph are actually from entities that are outside of the archive domain graph.

If any one of these tests fails, it prevent the server from starting. You must identify and correct these errors before it is possible to start the PolicyCenter server.

Graph validation warnings that do not prevent the server from starting

The following list describes validation tests that PolicyCenter performs on the archive domain graph during startup.

Test

Description

Archive domain graph entities refer only to administrative data and domain entities

All foreign keys from entities in the archive domain graph must reference other entities in the domain graph only. Otherwise, foreign key violations can occur as PolicyCenter traverses the domain graph during the archiving processes.

Nothing outside the archive domain graph points to the graph

There must not be foreign keys from entities outside the archive domain graph to entities inside the archive domain graph.

Null links cannot make a node unreachable

PolicyCenter constructs the archive domain graph by looking at foreign keys. If enough links are null, the graph becomes partitioned and the archiving process is not able to correctly identify the necessary entities for archiving. This test is a warning rather than one that prevents the server from starting because it is possible to use business logic to prevent the issue.

None of these issues prevent the PolicyCenter server from starting. PolicyCenter permits the server to start even upon failure of these tests because it is possible to prevent the erroneous situation through business logic. After the server starts, you can view the warnings from these tests on the Warnings tab of the Server Tools Domain Graph Info screen.