sys_metadata_delete recorded in author_elective_update is incorrectly processed as insert


In New York, we enabled deletes to be included with scoped apps. Some types of records, like Form Layouts, are actually composite records that contain more than one GlideRecord in their XML. The inner records in a composite record like this may be treated as inserts when the "delete" is loaded because only the outer container is processed as a delete.

Steps to Reproduce

Required two instances.

On Instance 1:

  1. Create a custom app App1
  2. Add a Form "F1" with 6 form sections in the form "fs1,fs2,fs3,fs4,fs5,fs6"
  3. Publish the app to be shared internally at version 1.0.0
  4. Remove all existing form sections from Form F1
  5. Add a new form section to Form F1 as fs7
  6. Publish the app at version 1.1.0

On Instance 2:

  1. Install the app from repo at version 1.1.0

Expected behavior: F1 should only reflect fs7 on instance 2

Actual behavior: F1 reflects all deleted form sections "fs1,fs2,fs3,fs4,fs5,fs6"


Set the system property com.glide.apps.include_my_deletes to false to turn off processing deletes. Scoped apps will then be processed the same way they are on Madrid; deletes will not be processed during install or publish.

Related Problem: PRB1370812