Propagating the Do Not Destroy flag

In this step of the purge graph traversal, PolicyCenter processes any Do Not Destroy flags on entities in the hierarchy. A Do Not Destroy flag on Contact, Account, and Policy propagates to all ancestors and descendants, but not to siblings. A Do Not Destroy flag on PolicyTerm and PolicyPeriod does propagate to sibling PolicyTerm and PolicyPeriod objects that share a Policy.

The detailed traversal logic follows.

  1. Mark nodes with a Do Not Destroy flag as not purgeable.
  2. Mark all descendant nodes of nodes with a Do Not Destroy flag as not purgeable.
  3. Mark all ancestor nodes of nodes with a Do Not Destroy flag as not purgeable.
  4. Mark as not purgeable all sibling PolicyPeriod and PolicyTerm objects sharing a Policy with a PolicyPeriod or PolicyTerm object that is marked Do Not Destroy.

    Sets of related Policy, PolicyTerm, and PolicyPeriod objects are kept or purged together. If a single object in the set has a Do Not Destroy flag, the entire set is kept. For an example, a single PolicyTerm with a Do Not Destroy flag prevents the purge of any Policy, PolicyTerm, and PolicyPeriod in the set.

See also