Skipped records that occur during application installation
Summarize
Summary of Skipped Records that Occur During Application Installation
During application installation in ServiceNow, certain records may be skipped when making local updates to global or scoped applications. Skipped records occur due to modifications in metadata or during the application of update sets. These records are logged in thesysupgradehistorylogand can affect the deployment process based on the chosen deployment model and state of properties.
Show less
Key Features
- Deployment Types and Application Types: Different deployment types affect whether skipped records are generated:
- Source Control (Scoped/Global): No skips occur; prompts to stash local changes if they exist.
- App Repository (Scoped): Skipped records generated but customizations preserved.
- App Repository (Global): Changes applied, with skips only if a superior claim exists.
- Store (Scoped): Skipped records generated, while customizations are applied.
- Customization (Source Control/App Repository): No skips generated; changes are applied.
- Author Elective Updates: This folder contains metadata of deleted files that can be either applied or ignored during application installation, affecting how skipped records are generated. Specific properties control the loading behavior of these updates.
- Claims: Claims are used in global applications to resolve conflicts when the same file exists in multiple applications. A superior claim leads to a skipped record log entry.
Key Outcomes
Understanding skipped records helps customers manage application updates effectively. By recognizing deployment types and the impact of author elective updates, customers can minimize skipped records and ensure smoother application installations. Monitoring the upgrade history log can aid in identifying and resolving conflicts during the upgrade process.
Some records may be skipped when you make local updates to global or scoped applications. Skipped records can occur either when you modify the metadata records in the instance to which you're deploying or when you apply an update set. Depending on the deployment model you use and the state of applicable properties, you may risk "skipped records," which are generated in the sys_upgrade_history_log. Learn what to expect on your instance when you upgrade an application using various different methods.
General use cases
Under most circumstances, these general use cases occur during application installation:
| Deployment type | Application type | Expected outcome |
|---|---|---|
| Source Control | Scoped | No skips, application loads from Source Control. If local update xml exists, you are prompted to stash those changes. |
| Source Control | Global | No skips, application loads from Source Control. If local update xml exists, you are prompted to stash those changes. |
| App Repository | Scoped | Skipped records are generated and customizations preserved. |
| App Repository | Global |
Application changes applied and skipped records are generated only when a superior claim is found. For details, see Review skipped records using related lists. |
| Store | Scoped | Skipped records are generated, customization changes applied. |
| Source Control | Customization | No skips, customization loads from Source Control. If local update xml exists, you are prompted to stash those changes. |
| App Repository | Customization | No skipped records are generated, customization changes applied. |
| Store/App Repository | Scoped and Customization | No skipped records are generated unless the customization updates the base application record. In this case, a log entry of a skipped update for the base application is created. |
Author Elective Updates
It's important to understand the purpose of the author_elective_update folder.
When ServiceNow packages your application for the repository or for committing to Source Control, additional elements (which might have been previously ignored), are unloaded to the author_elective_update folder. (These deleted elements are often referred to simply as "deletes.") When your application is installed on your own instance, the deleted files are automatically loaded from the author_elective_update folder.
For example, if you changed the schema of your application by deleting a table or a column, those files are tracked in the folder but are not applied by default. There are specific rules that apply to author elective updates that you can change, based on the properties you can set. This folder contains metadata deleted files, including schema changes, and choice set unloads that you can apply or ignore. Whether you apply or ignore them, and whether corresponding skipped records are generated, depends on the state of the following properties and processing flow:
| Property name | Behavior | Default | Used in Source Control |
|---|---|---|---|
| com.glide.apps.include_only_sys_choice | Loads only deleted elements and updates to sys_choice fields from author_elective_update | False | No |
| com.glide.apps.include_my_schema | Loads only deleted elements to schema files from author_elective_update. Applies to customer application installations and not third-party apps. | False | No |
| com.glide.apps.force_skips | Creates skipped records for all of author_elective_update | False | No |
| com.glide.apps.include_my_deletes | Process author_elective_update | False | Yes |
| com.glide.apps.include_global_deletes | Process author_elective_update for global applications | False | Yes |
When there is no property for com.glide.apps.include_my_schema, it defaults to False. However, since the Orlando release, new instances have a default entry in the table to set it as True.
Claims
Claims apply to global applications and application-customizations. In global applications, claims allow the system to choose a record deterministically should the same file be included in multiple applications. If you see a superior claim, an upgrade history log for the skipped record is created to identify a conflicting claim status. For details, see Review skipped records using related lists.