Notifications

54 views

Issue

Symptoms


After committing of Update Set containing list layout changes, List Layout are not applied in the target instance.

 

Release


All

Environment


All

Cause


Duplicate records in the [sys_ui_list] table for the combination of following fields:

Table, View, Domain, Element, Relationship, Parent, Scope.

When committing an Update Set, the platform does not expect to have these multiple records for the same values and ends up corrupting records. List Layouts have a different coalesce strategy than the Sys ID. 

Resolution


Clean the [sys_ui_list] table by removing the duplicate records and the ones with no Element.

Additional Information


https://docs.servicenow.com/bundle/istanbul-application-development/page/build/system-update-sets/concept/c_UnderstandingCollisions.html 

When committing an Update Set with a new List Layout, the platform is supposed to first delete the current record (if there is one) with the same values for the fields listed above and then insert a record with the data from the Update Set. 

Example Extract from application log, which shows error in coalescing during update set commit

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2018-07-11 15:54:34 (094) worker.2 worker.2 txid=bf7b60b8dbd7 Loading update 7 of 7 from database: sys_ui_list_sysapproval_approver_null with update date 07-11-2018 15:54:33
2018-07-11 15:54:34 (215) worker.2 worker.2 txid=bf7b60b8dbd7 WARNING *** WARNING *** com.glide.script.GlideElementXMLSerializer: Attempted to resolve an invalid reference via a coalesce strategy
on table sys_ui_list for field list_id but retrieved 3 records when querying against said strategy when 1 was expected. Thus the invalid reference could not be resolved.
Please verify the key fields for the coalesce strategy on table sys_ui_list represents the unique key for that table.

Article Information

Last Updated:2019-08-02 21:07:30
Published:2018-08-15