While investigating issue
OPENDJ-333 I thought initially that the divergence was being caused by usage of a permissive modify request control. Ultimately, this was not the cause, but I believe that there is a potential bug here anyway since this control is not handled by replication AFAIK.
The following test case should expose the problem:
- Permissive modify request control
control: 1.2.840.1135188.8.131.523 true
description: missing value
The final modify request should be applied without any problems even though the value to be deleted is missing, resulting in an entry containing the values "one", "two", and "three". I suspect that the change will be applied successfully but will fail during replay causing divergence: the replica will not contain the value "three".