Windows 2000 Multi-Master Replication Conflicts

In Microsoft Windows 2000 Server, Active Directory introduced a multi-master replication model that allows directory updates to occur on any domain controller (DC) rather than relying on a single primary server. Because changes can be made simultaneously across geographically dispersed sites, collisions inevitably happen. To prevent data divergence, Windows 2000 relies on an automated conflict-resolution engine that uses property version numbers, timestamps, unique identifiers, and built-in object mangling rules to ensure that every domain controller eventually converges on the exact same directory state.

Property-Level Conflict Resolution

Windows 2000 tracks modifications at the attribute level rather than the whole-object level. Each attribute maintains metadata containing three critical elements: a version number, a timestamp, and the originating DC's Invocation ID (a unique GUID). When two domain controllers attempt to replicate divergent updates to the same attribute of an object, the system applies a three-step tie-breaking rule:

  1. Version Number: Every time an attribute is modified, its version number increments by one. The update with the higher version number always wins.
  2. Timestamp (Last Write Wins): If the version numbers are identical, the DC evaluates the originating timestamp. The update with the later timestamp wins.
  3. Invocation ID: In the rare event that both the version number and timestamp are identical, the DC compares the originating Invocation IDs. The change originating from the domain controller with the higher binary GUID value is accepted as the winner.

Object Creation Conflicts (Name Mangling)

A conflict occurs if administrators create two distinct objects with the identical Relative Distinguished Name (RDN) in the same container on different DCs before replication happens. Active Directory resolves this through name mangling:

  • The object with the winning metadata (higher version, later timestamp, or higher GUID) keeps its original name.
  • The losing object is automatically renamed using a specific format:
    CN=<OriginalName>\0ACNF:<ObjectGUID>
    (where \0A represents a line feed character, CNF signifies a conflict, and <ObjectGUID> is the losing object's unique identifier).
  • This preserves both objects in the directory, allowing administrators to review, merge, or delete the conflicting duplicate without data loss.

Move and Delete Collisions

Collisions can occur when an object is moved into a container on one DC while that entire container is deleted on another DC. Because Windows 2000 processes the deletion first, the moved object has no valid parent container. To resolve this, Windows 2000 moves the orphaned object to the LostAndFound container in the root of the naming context. Administrators can then examine the LostAndFound folder and relocate the orphaned objects to appropriate destinations.

Avoiding Conflicts with FSMO Roles

To eliminate conflicts for high-risk operations where multi-master resolution is insufficient, Windows 2000 designates specific tasks to Flexible Single-Master Operation (FSMO) roles. Functions such as schema updates, domain naming modifications, and Relative Identifier (RID) pool allocation are restricted to dedicated single-master servers, preventing replication collisions entirely for the most sensitive directory operations.