Traversing the purge tree to determine disposition
This second step of purge graph traversal identifies entities that are eligible for purging. PolicyCenter excludes from purging entities that have a MUST_NOT_DESTROY disposition and entities whose presence is required to preserve data consistency. For an example of the latter, an entity in the graph that has a descendant that is not purgeable is excluded in this pass.
The traversal starts from the initial root of the personal destruction request and visits all descendant nodes.
For each visited node, PolicyCenter invokes disposition logic and marks the node not purgeable if any of the following are true:
- The node has a disposition of
MUST_NOT_DESTROY. - The node is an ancestor of a node that has a disposition of
MUST_NOT_DESTROY. - The node is a
PolicyPeriodorPolicyTermsharing aPolicywith anotherPolicyPeriodorPolicyTermthat has a disposition ofMUST_NOT_DESTROY. For example, two pairs ofPolicyPeriodandPolicyTermobjects are children of aPolicyand are adjacent nodes to one another in the graph.Sets of related
Policy,PolicyTerm, andPolicyPeriodobjects are kept or purged together. If a single object in the set has a disposition ofMUST_NOT_DESTROY, the entire set is kept. For example, a singlePolicyTermthat has a disposition ofMUST_NOT_DESTROYprevents the purge of anyPolicy,PolicyTerm, andPolicyPeriodobjects in the set.
See also
