The following illustration depicts the naming conflict scenario.

Canvas 1 Layer 1 1 Identity Data Store A Directory Conflict Resolution 4 Directory Identity Data Store B Conflict Resolution 4 3 2 Update 1 Update 2 LDAP Replication

Processing steps

  1. The Client sends an update (Add, Delete, or Modify DN) request to server A.
  2. The Client sends an update (Add, Delete, or Modify DN) request conflicting with the first request to server A.
  3. Replication propagates the updates.
  4. Conflict resolution takes place.

The following table shows the result of a modification conflict depending on the type of updates that occur. The code does not compare change sequence numbers (CSNs) but applies operations in the order they were received. This might lead to inconsistent replays.

For all of the naming conflict scenarios, assume the following:

  • Update 1 was applied at Directory Server 1.
  • Update 2 was applied at Directory Server 2.
  • Update 1 occurred shortly before Update 2 so that Directory Server 2 received Update 1 after Update 2 was applied.
Naming Conflict Scenarios
Update 1 Update 2 Automatic Resolution? Result of Conflict Resolution at Directory Server 2 When Update 1 is received

Modify

Delete

Yes

Modify is discarded.

Modify

Modify DN

Yes

New entry is located based on the entryUUID and Modify is applied to the renamed entry.

Delete

Delete

Yes

Delete operation is ignored.

Delete

Modify DN

Yes

Delete operation is applied to the renamed entry.

Delete of A

Add of B under A

Yes

Entry B is renamed and Entry A is deleted.

Modify DN

Delete of the same entry targeted by the Modify DN

Yes

Modify DN operation is ignored.

Modify DN with a new parent

Delete of parent

No

The entry targeted in the Modify DN operation is marked as a conflict entry.

Modify DN with a new parent

Modify DN of the parent

Yes

The entry is moved under the new DN of the parent.

Modify DN of A with new DN B

Modify DN of C with new DN B

No

A and B will be conflict entries.

Add A

Modify DN of the parent of A

Yes

The entry is added under the new DN of the parent.

Add A

Delete of the parent of A

No

The added entry is marked as a conflict entry.

Add A

Add A with same set of attributes

Yes

The entryUUID of the incoming Add operation applied to the existing entry.

Add A

Add A with different set of attributes (or values)

No

The existing entry is marked as a conflicting entry and the incoming Add is executed.