6.1.7 DynamicObject Requirements
Dynamic objects are objects that are automatically deleted after a period of time. They are distinguished by the presence of the dynamicObject auxiliary class among their objectClass values. The intended time of deletion is specified by the msDS-Entry-Time-To-Die attribute.
The following requirements apply to dynamic objects:
All of the dynamic object's descendants are dynamic objects.
A dynamic object MUST be garbage collected when all of the following conditions are TRUE:
The current time value is greater than or equal to its msDS-Entry-Time-To-Die attribute value.
It has no descendants.
If a dynamic object has descendent objects and the msDS-Entry-Time-To-Die of the dynamic object is earlier than msDS-Entry-Time-To-Die of its descendant, then the DC MUST update the msDS-Entry-Time-To-Die of the object to be greater than the maximum msDS-Entry-Time-To-Die of its descendants. This update MUST occur before the current time reaches its original msDS-Entry-Time-To-Die value.
NC replicas do not contain objects with linked attribute values referencing deleted dynamic objects. In other words, when a dynamic object is deleted, any linked attribute values on other objects referencing it are removed.
If any NC replicas contain other objects with nonlinked attribute values referencing deleted dynamic objects, those attribute values on those objects are retained. In other words, when a dynamic object is deleted, any nonlinked attribute values on other objects referencing it are not removed.
The value of the entryTTL constructed attribute is specified in section 3.1.1.4.5.12.