Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-334

PermissiveModifyRequestControl not replicated which may cause divergence

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.0.0, 3.5.2, 3.0.0, 2.6.4, 2.4.4
    • Fix Version/s: 6.0.0
    • Component/s: common-repo, replication
    • Labels:
    • Sprint:
      OpenDJ Sprint 112

      Description

      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:

      dn: cn=test,dc=example,dc=com
      changetype: add
      objectClass: top
      objectClass: person
      cn: test
      sn: test
      description: one
      description: two

      1. Permissive modify request control
        dn: cn=test,dc=example,dc=com
        control: 1.2.840.113556.1.4.1413 true
        changetype: modify
        delete: description
        description: missing value
        -
        add: description
        description: three
        -

      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".

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthew Matthew Swift
                Reporter:
                matthew Matthew Swift
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: