<h2>Configuration item field not updated by Service Graph Connector — NO_CHANGE due to sys_object_source recency</h2><br/><div style="overflow-x:auto"><article><div ><h3 >Issue </h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">After a data source sync using a Service Graph Connector (SGC), a field on a configuration item (CI) does not update, even though the incoming data is confirmed to be present in the staging table.</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Symptoms</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">- The identification simulator or identification logs return the message: sys_object_source MATCHED. Operation set to NO_CHANGE due to newer entry in sys_object_source from same feed</span></div> <div><span style="font-size: 12pt;">- The affected field (for example, an ICCID field on a handheld computing device CI) keeps its previous value after the sync, even though the staging table record contains the new value.</span></div> <div><span style="font-size: 12pt;">- Deleting the sys_object_source record for the CI allows the field to update correctly on the next sync, but this is not practical across many records.</span></div> <div><span style="font-size: 12pt;">- The behavior can continue after upgrading to a later release, since it is not release-dependent.</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Facts</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">- Affects CIs identified through a Service Graph Connector (SGC) where the data source mapping includes a source_recency_timestamp.</span></div> <div><span style="font-size: 12pt;">- Involves the Configuration Management Database (CMDB) Identification and Reconciliation Engine (IRE).</span></div> <div><span style="font-size: 12pt;">- Relevant table: sys_object_source, field: last_scan.</span></div> <div><span style="font-size: 12pt;">- Occurs regardless of authentication method used by the connector (for example, OAuth).</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Release</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">All currently supported releases.</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Cause</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">This behavior is by design. When a source_recency_timestamp is mapped for a data source, the Identification and Reconciliation Engine (IRE) only updates a CI if the incoming timestamp is strictly later than the value already stored in the CI's sys_object_source.last_scan field for that source. If the incoming timestamp is equal to or earlier than the stored value, IRE intentionally skips the update to prevent the CI from being overwritten with duplicate or out-of-date data, and it returns the NO_CHANGE result shown in the identification log.</span></div> <br /> <div><span style="font-size: 12pt;">Customers may expect the CI to update because the staging record reflects the same sync event. However, if the incoming timestamp is identical to the stored value, IRE does not treat it as newer, so no update occurs. This can be confusing when a form displays the timestamp in a time zone different from the one used internally (UTC), since the two values can appear different on screen while representing the same instant in time.</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Resolution</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">1. Open the Identification and Reconciliation Engine (IRE) simulator for the affected CI class (Required role: <code>admin</code> or the <code>sn_cmdb_admin</code>).</span></div> <div><span style="font-size: 12pt;">> Configuration > Identification/Reconciliation > Identification Simulation > Start with Existing Payload</span></div> <div><span style="font-size: 12pt;">2. Run the simulator using the incoming payload for the affected CI.</span></div> <div><span style="font-size: 12pt;">3. Review the identificationAttempts output for a message similar to sys_object_source MATCHED. Operation set to NO_CHANGE due to newer entry in sys_object_source from same feed.</span></div> <div><span style="font-size: 12pt;">This message confirms that IRE's recency-protection behavior prevented the update.</span></div> <div><span style="font-size: 12pt;">4. Open the sys_object_source record for the CI and note the value in the last_scan field.</span></div> <div><span style="font-size: 12pt;">Filter the sys_object_source table by source_name and source_native_key to locate the correct record.</span></div> <div><span style="font-size: 12pt;">5. Compare the last_scan value to the source_recency_timestamp value in the incoming payload.</span></div> <div><span style="font-size: 12pt;">Convert both values to the same time zone before comparing, since forms display date/time fields in the session time zone rather than UTC.</span></div> <div><span style="font-size: 12pt;">6. Confirm whether the two timestamp values are equal or whether the incoming value is earlier than the stored value.</span></div> <div><span style="font-size: 12pt;">If the values are equal or the incoming value is earlier, the field will not update. If the incoming value is later, further investigation is needed, since the update should occur.</span></div> <div><span style="font-size: 12pt;">7. Ensure the source system sends a source_recency_timestamp that is strictly later than the value stored in sys_object_source.last_scan so the CI updates on the next sync.</span></div> <br /> <div><span style="font-size: 12pt;">Workaround</span></div> <div><span style="font-size: 12pt;">Deleting the sys_object_source record for a CI causes IRE to treat the next sync as a new match, which allows the field to update. This step must be repeated for each affected CI and is not a scalable solution for a large number of records.</span></div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div><div ><h3 >Related Links</h3><section><style type="text/css"><!-- /*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: ; } } </style> <div class="ns-kb-css-body-editor-container"> <div> <div><span style="font-size: 12pt;">- Identification and Reconciliation Engine (IRE) — <a href="https://www.servicenow.com/docs/r/servicenow-platform/configuration-management-database-cmdb/ire.html" target="_blank" rel="noopener noreferrer">Product Documentation</a></span></div> <div><span style="font-size: 12pt;">- Service Graph Connector — <a href="https://www.servicenow.com/products/service-graph-connectors.html" target="_blank" rel="noopener noreferrer">Product Documentation</a></span></div> <div> </div> </div> <span id="ns-kb-css-end-div-identifier" style="display: none; pointer-events: none;"></span></div></section></div></article></div>