Notifications

100 views

Description

The non-admin users with delegated_developer logs in to the empty screen post clone on the target instance

The logs will show the following errors 

2020-02-04 16:11:00 (934) Presence-thread-23 8D22778DDB72C450C01B5818489619DB txid=cef37301dbf2 SEVERE *** ERROR *** Multiple entries with same key: =<application_scope> and =<application_scope>
java.lang.IllegalArgumentException: Multiple entries with same key: =<application_scope> and =<application_scope>
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:136)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:100)

Release or Environment

Madrid and higher

Cause

1. The clone options "Preserve users and related tables" was introduced in madrid , but this feature did not work due to the defect identified on PRB1351704. However the defect was fixed and was deployed internally on 7th Feb 2020 , so any clone after this date this feature will exclude user and related tables and preserve data on the target. (note: this will also exclude data on table sys_user_role )

 

2. A new role is created for each permission set that is granted to a delegated developer for each application scope,

These permission sets are saved to the 'sys_scope_permission_set_role_assignment' table. Permission sets consist of 2 reference fields:

-- sys_development_permission_set - predefined development permissions

-- sys_user_role - A role is created and assigned specifically for this scope and permission set in this format: sn_dd_<APPLICATION SCOPE>_<PERMISSION SET NAME>_rc_01

 

3. If the option is checked during the clone . the sys_user_role will be excluded causing the references for sys_user_role broken on table 'sys_scope_permission_set_role_assignment' 

 

4. The broken references will cause the blank screen for the non-admin users after login into the target instance.

Resolution

1. Uncheck the clone options "Preserve users and related tables" while requesting a clone, This will bring over all the roles from the source instance and not break the references.

2. If you need to preserve the users and related tables , you can follow the following KB article , following this method will not exclude data in sys_user_role table and will not cause the broken references.

https://hi.service-now.com/kb_view.do?sysparm_article=KB0715621#PreserveUsers

 

Additional Information

The issue is also caused as explained in the following Knowledge article

https://hi.service-now.com/kb_view.do?sysparm_article=KB0749269

Article Information

Last Updated:2020-02-18 13:20:39
Published:2020-02-18