When you run Revert to Out-of-box on Fuji as part of removing a metadata customization, you ask the system to change the state of the record to whatever was defined in the base configuration. If the following is true, the column is dropped and recreated and data loss occurs:
  • the record in question is a column definition
  • the state defined by the out-of-box record is a shorter column than what is in the current system
  • the column contains data longer than the newly defined length

Steps to Reproduce

  1. Activate a plugin that contains tables and ensure that at least one of the tables contains a string column with a length less than 4,000 characters.
  2. Edit the definition of that string column in the Dictionary module.
  3. Increase the Max Length of the field by 10.
  4. Upgrade the plugin.
  5. After plugin upgrade the customized Dictionary record should be marked as skipped in the Upgrade History.
  6. Right-click the skipped record on Upgrade Details and attempt to Revert to Out-of-box.
  7. Note that the column is shorter and data is lost. In some circumstances, the column has been renamed with a u_ prefix.


We have implemented an Instance Analyzer script for the Fuji family of releases that blocks the most common scenarios that can cause data loss.

For instances on which the Instance Analyzer script has not been run

To prevent data loss, avoid use of the Revert to Out-of-box feature until you are able to upgrade to a fixed version listed in the Fixed In section below. If you must execute a Revert to Out-of-box before the instance can be upgraded, try the following two recommendations:

  1. Perform the Revert to Out-of-box on a sub-production instance and validate the results.
    By validating on a sub-production instance, any issues can be uncovered before customers are affected.
  2. Review the difference between the Out-of-box version and the current version to ensure the current version did not increase the max_length or internal_type of the column.

For instances on which the Instance Analyzer script has been run

To prevent inadvertent data loss we have limited the following features in all Fuji releases. When a user clicks on either of the following UI actions, we analyze the update set:

  • Back Out and Revert are refused for only Dictionary records on the following Actions:
    • Local Changes - Back Out
    • Update Version - Revert to this version (KB0594798)
    • Application Metadata - Revert to store app
    • Update Comparison - Revert
    • Upgrade Details - Back Out
    • Upgrade Details - Revert to Out-of-box
    • Push or Pull Version - Use Pulled Version

If Revert to Out-of-box refuses to run on a Dictionary record, try this alternative approach:

  1. Click the Dictionary record in the list to open its form.
  2. On the form for the column in question, click the menu ( icon) and choose Show File Properties.
  3. Ensure that the Versions related list is sorted by the Created column, with the most recent version at the top.
  4. In the Versions related list, locate the version you are attempting to back out to.
    This is the most recent version whose Source's name starts with Upgrade History
  5. Right-click on that version and choose Compare to Current.
    • If the comparison window displays changes to max_length, perform the operation on a sub-production instance and validate the results first. Data loss is likely.
    • If the comparison window displays changes to internal_type, perform the operation on a sub-production instance and validate the results first. Data loss is possible.
    • If the comparison window displays no changes to max_length and no changes to internal_type, click the Revert to this Version button to roll back the change.

Related Problem: PRB678322

Seen In

There is no data to report.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2016-08-18 06:39:00