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.