Getting Started with Update Sets
|System Update Sets|
Because update sets make changes to an instance, review the following best practice information to avoid errors and performance issues. Learn how to plan the update process and avoid common pitfalls.
2 Planning the Update Process
Before working with update sets, create a standard process for moving customizations from instance to instance. Review the following items to ensure that there are no problems during the update set process:
- Check that both instances are the same version.
- Customizations may not work if they rely on code that has changed between versions.
- Determine the changes to make in a single update set.
- ServiceNow recommends limiting update sets to a maximum of 100 records. This maximum value helps to prevent conflicts and makes reviewing the update set easier.
- Ensure that all base system records have matching sys_id fields.
- Some base system records are created on an instance after provisioning and do not match between different instances, leading to problems with update sets. The best way to avoid this issue is to:
- Provision production and sub-production instances.
- Clone the production instance onto the sub-production instance.
- Identify a common path for update sets to move from instance to instance and maintain that model.
- Never migrate the same update set from multiple sources. Best practice is to move update sets from dev to test and then from test to production.
- Plan for when to commit the update set to production.
- Avoid committing an update set to a production instance during business hours. The instance may perform slower temporarily as the update set applies.
- Make sure update set names are clear.
- Create a naming convention to coordinate changes from multiple developers and to reference when committing the changes to another instance.
- If update sets are being generated as fixes for problems, consider including the problem ticket in the name (for example, PR10005 - Duplicate Email Issues Fix).
- If more than one update set is needed to address a problem, include a sequence number in the naming convention so that update sets are applied in the order that they were created (for example, PR10005 - Duplicate Email Issues Fix and PR10005.2 - Duplicate Email Issues Fix).
- Know which customizations are carried over and which are not.
- Not all changes to an instance are tracked by update sets.
- Learn how to determine which customizations are tracked.
- Review the base system tables for which customizations are tracked.
- Update sets do not remove columns or fields. Perform these tasks manually on the target instance if they are crucial to the customization.
- Review Backing Out Update Sets to see which customizations can be reversed once applied.
- Before making any customizations, double-check that the correct update set is selected.
3 Avoiding Common Pitfalls
In addition to planning the process, make sure to avoid common pitfalls:
- Do not delete update sets.
- If an update set is deleted, any updated records may be overwritten in the next update.
- Do not include the system_id field from the ldap_server_config record in an update set.
- An update set from a working configuration points to the wrong system_id node for the target instance and does not work.
- Do not back out the Default update set. This action causes damage to the system.
- Never change the update set field value (update_set) in a Customer Update record (sys_update_xml).
- If a customization is made in the wrong update set, take the following action:
- Switch to the desired update set.
- Modify the object (record) that was originally changed. You can make a trivial change, such as personalizing a field.
- Save the record.
- Back out the change just performed, and then save the record again.
- This action ensures that the latest version of the object is included in the desired update set and prevents duplicate updates for the same object in a single update set.
- Do not mark an update set as Complete until it is ready to migrate.
- Once an update set is complete, do not change it back to In progress. Instead, create another update set for the rest of the changes, and make sure to commit them together in the order that they were created. Naming conventions may help in this case (for example, Performance Enhancements and Performance Enhancements 2).
- Do not manually merge updates into an update set.
- Always use the Merge Update Sets module. This tool compares duplicate files between update sets and selects the newest version.
- If a committed update set has a problem in the test instance, build the fix in another update set in the development instance. Commit this set to the test instance, and then make sure both sets are migrated to the production instance and committed in the order they were made.
- Always preview an update set before committing it.
- Set completed update sets on the production instance to ignore.
- This state ensures the update set is not reapplied when cloning the instance.
- Keep a to-do list of manual changes and data loads that need to be completed after an update set is applied.
- Do not allow your update set to grow too large.
- Limit update sets to 750 entries or less per update set.
- Do not make too many changes at one time.
- Verify that the correct changes have been made incrementally.