Troubleshoot > Troubleshooting Modeling > Troubleshooting and Limitations

Troubleshooting and Limitations – Topology Query Language

This section describes troubleshooting and limitations for Topology Query Language.

  • When creating resources, such as TQL queries, views, and Impact rules, make sure that there are no spaces at the end of the resource name.
  • In a multi-tenancy environment, TQL query names cannot contain an @ character.
  • When importing a resource (for example, TQL query, view) in a multi-tenancy environment in Modeling Studio, for the import to work, the TQL query used for the creation of the view needs to have as consumer or owner tenant, the tenant associated with the user that performs the import. The user who performs the import of a view has to have at lest view permission on the TQL query used.

    The instructions below are an example for your reference:

    1. Create a tenant.
    2. Create a role with the following permissions: All permissions on view and folder, and permissions to access Modeling Studio.
    3. Create a user with the above role in the context of tenant from step a.

    4. Go to Modeling Studio > Resources > View, assign the tenant created in step a for the desired folder as owner tenant. (Meaning that the views are assigned to the tenant associated with the user who will perform the import.)
    5. Log in as the new user.
    6. In Modeling Studio, import a new view.
  • If an error occurs while working with views in the Modeling managers, when adding CIs to the CMDB, or when updating existing CIs, and the error log indicates that objects are missing in the database, do the following:

    1. Perform a DB backup.
    2. Access the JMX console and run the following methods under service=DAL services:

      • rebuildModelViews
      • rebuildModelDBSchemaAndViews

    Caution Invoking the above JMX method could drop the following: attributes, tables, indexes. Random usage is prohibited.

  • If the login takes a long time when navigating to the Modeling modules, go to Infrastructure Settings Manager and set the value of the mam.gui.automation.flow.mapping.enabled setting to false. This disables the Automation Flow functionality but improves the login time for the Modeling modules.
  • For TQL queries to be valid, they must comply with certain restrictions.

Understanding Validation Restrictions

For Impact Analysis, Discovery, and Enrichment TQL query types to be valid, they must comply with the following restrictions:

  • Unique Names. TQL query elements must have unique names.

  • Self Relationships. A TQL query must not contain self relationships, that is, a relationship must not lead from a query node to itself, as the following example illustrates:

  • Cyclic Graph. The TQL query structure cannot be a closed circle, as shown in the following example:

  • Separate Query Nodes and Groups. All the TQL query nodes must be linked to one another, that is, the TQL query cannot contain separate query nodes or groups, as the following example illustrates:

Impact Analysis TQL Query Validation

Impact Analysis TQL queries must also comply with the following restrictions:

  • Number of query nodes. An Impact Analysis TQL query must consist of at least two query nodes.

  • Trigger and affected query nodes must be connected. There must be a path of relationships from the triggered query node to the affected query nodes.

  • Selecting query nodes to function as Impact Analysis triggers. When selecting query nodes to function as Impact Analysis triggers, the query nodes must comply with the following restrictions:

    • You can select more than one query node as a trigger. However, you cannot define a query node both as affected and as a trigger.

    • If a query node has a relationship whose minimum limit is 0 (meaning that one of its ends does not necessarily have a query node linked to it), the query node that is linked to its other end cannot be a root cause query node (because it may or may not exist in the TQL query). For details about minimum limits, see Cardinality Tab. For example, Configuration Item cannot be either a root cause or affected query node because it is connected to the query node with a Min limit of 0.

      Note A query node that is hidden cannot be a root cause or an affected query node.

  • The connection between trigger and affected query nodes. The trigger query node and affected query nodes you define must be connected by a path of relationships from the triggered query node to the affected query nodes.

Enrichment TQL Query Validation

Enrichment TQL queries must comply with the following restriction:

  • Required elements. You cannot perform Enrichment on a non-required query node, that is, a query node that does not necessarily appear in the TQL query results.

    Example 1. In this example, the TQL query results can be either A and B or A and C. Therefore, you cannot add an Enrichment query node to query nodes B or C because they are not required elements. You can add an Enrichment query node to query node A because it always appears in the TQL query results. For details on how to add Enrichment query nodes and relationships, see How to Add Enrichment Query Nodes and Relationships to an Enrichment TQL Query.

    Example 2. In this example, both A and B are required elements that always appear in the TQL query results. Only C is not a required element because it has a cardinality of 0. Therefore, you cannot add an Enrichment query node to it.