Thank you for your feedback.
Form temporarily unavailable. Please try again or contact to submit your comments.

Rollback contexts

Log in to subscribe to topics and get notified when content changes.

Rollback contexts

Rollback contexts contain everything necessary to roll back a software upgrade or plugin activation. They include deleted records, patch updates, Scripts-Background script executions, database actions, and plugin activations.

Rollbacks are typically performed on pre-production instances where functionality must be restored before you can find the root cause of a problem in the upgrade. Rolling back deletes data, which can often make it hard if not impossible to discover the problem that made the rollback necessary.

A rollback context is created when:
  • GlideRecord.delete() or GlideRecord.deleteMultiple() delete records.
  • There is a patch upgrade.
  • You activate a plugin that supports rollback contexts.
  • A script executes using the Scripts-Background module, and rollback was enabled by selecting the Record for Rollback? check box.

Rollbacks do not impact other database activities. If a database activity modifies a record that is part of a rollback context, the rollback does not affect that record.

Because rollback contexts contain a significant amount of data, rollback contexts are deleted after seven days. Therefore, rollbacks must occur within seven days of the latest upgrade. Use the sys_property, glide.rollback.expiration_days to configure the number of days.

To use rollback contexts, activate the Restore Deleted Records and Delete Recovery plugins.

Rollback context blacklisted operations

If any of the following operations occur during a rollback, a rollback context is not created:

  • Tables or columns are dropped from the schema.

    Index drops are okay.

  • Table is truncated.
  • Table or column is renamed.
  • Column is reparented or promoted.
  • Column type changes.
  • Column width is decreased.

What happens on HI?

  • The rollback process on HI updates the reported WAR to the rolled-back version.
  • The assigned WAR remains set to the version before the rollback.
  • glide.war.no_upgrade system property on the instance is set to the version before the rollback.
  • The message, "Desired war matches reverted war specified by property [glide.war.no_upgrade]. Upgrade script will NOT run," appears during the rollback.
  • Rollback context state says, "Expired."
  • Rollback purges all stored data.