Notifications

45 views

Description

Certain relation fields are captured in Audit History in ServiceNow, creating additional performance lag on activity fields and creating potentially unnecessary and not particularly helpful data to be displayed in the Audit History. This applies also to other features that use that audit history such as CMDB Baseline Diff and Activity Stream.

Cause

The Audit Relation functionality is partially controlled by a system property called 'glide.ui.relations_trace'. 

This is only used when new relations are being added and it does not control when relations are removed (deleted), because records are added to sys_audit_relation by the audit delete code in the platform. When a record is deleted, and it has non-nil reference fields, then records are added to sys_audit_relation (and hence into the history) to record the deletion of these values.

For example, if you have a change_request which has a value in its "cmdb_ci" field, or values in its "Affected CIs" related list, then deletion records for both "task" and "cmdb_ci" are added to sys_audit_relation table due to the "task_ci" record(s) which reference both the "task" and the "cmdb_ci" being deleted.

Resolution

If you feel you need to do this, please use system property called 'glide.ui.relations_trace' to disable the addition of new relational audit data on cmdb_ci.

Name = glide.ui.relations_trace
Type = String (comma-separated valued'
Value = "cmdb_ci,task,kb_knowledge" (by default)

You will have to create this property yourself, and then remove cmdb_ci/task from the list depending on your needs.

Note : Please test any changes to this property thoroughly on your sub-production environments prior to applying them on your production instance. 

To be able to suppress the creation of sys_audit_relation records when a relationship is deleted or changed then the boolean dictionary attribute "no_audit_relation" would have to be added to the sys_dictionary field's attributes that you want to suppress.

For example, to suppress the results of a "task_ci" record being deleted the "no_audit_relation=true" attribute/value would have to be added to both the "task" and "cmdb_ci" reference fields' attributes on the "task_ci" table.

Article Information

Last Updated:2020-07-01 00:41:10
Published:2020-07-01