How CMDB reconciliation and data precedence rules workIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Learn how CMDB reconciliation rules and data precedence rules control which data sources can update configuration item (CI) attributes. This article explains how the Identification and Reconciliation Engine (IRE) evaluates data source priority when a CI is inserted or updated, and what to check when troubleshooting unexpected attribute values. Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Beginning with the Paris release Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } How reconciliation and data precedence rules work The base system includes reconciliation definitions and data source precedence rules that control which data sources can update CI attributes through the IRE. Each time a CI is inserted or updated, the IRE records the attribute-level changes in the Data Source History [cmdb_datasource_last_update] table, including the source name. When processing an update, the IRE follows this sequence: Check whether the data source is allowed to update the CI attributes.If the source is allowed, check whether a higher-priority source has previously updated the same attributes by reviewing entries in the [cmdb_datasource_last_update] table.If a higher-priority source has updated those attributes, skip them (this is called masking) and continue with the remaining attributes.After the update completes, record the changes in the [cmdb_datasource_last_update] table for future evaluation. If the data source is not allowed, the IRE returns an error. The following flowchart and explanation illustrates this process. Two data sources (Data Source #1 with Priority #100 and Data Source #2 with Priority #200) submit data to the IRE. The IRE evaluates whether the source is allowed: No — The IRE returns an error.Yes — The IRE checks whether the attributes were previously updated by a higher-priority source by referencing the cmdb_datasource_last_update table and then processes the update: Insert — All attributes are written to the CMDB.Update, no higher-priority conflict — All attributes are updated in the CMDB.Update, higher-priority conflict — The IRE skips the attributes previously updated by the higher-priority source and updates the remaining attributes in the CMDB. After processing, the IRE updates the [cmdb_datasource_last_update] table with the attribute history. CI insert behavior When a CI is created through the IRE, the system creates the CI regardless of reconciliation rules because it is a new record. The IRE then creates an entry in the cmdb_datasource_last_update table with fields including source, CI, attribute, and class. CI update behavior When an existing CI is updated through the IRE, the system checks the reconciliation rules to determine whether the current data source is allowed to update the CI attributes. If the source is allowed, the IRE checks whether a higher-priority data source has previously updated the same attributes. If so, the IRE skips the update for those attributes. Note: Data precedence rules were merged with reconciliation rules beginning with the Paris release. Related property The glide.reconciliation.override.null property controls whether a lower-priority data source can update an empty field on a CI. Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } CMDB data precedence Reconciliation Definitions/Rules Data Source Precedence Rules