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

Invalid Conflict resolution on Add sequence when Parent & Child are added on different replica

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.2, 3.0.0, 3.5.0, 4.0.0
    • Fix Version/s: 6.5.0
    • Component/s: replication
    • Labels:

      Description

      When adding a sequence of entries, parent, child, grand-child... and the grand-child entry is added on a different server than its ancestors, the conflict resolution is incorrect and the grand-child entry is hook to the top entry of the backend.

      The issue is exercised when the Adds are replicated to a 3rd replica (which may be a little bit behind).

      Here's the result when adding 5 entries one under each other, but the 4th one is done on server 2.

      o=test
      dc=dependency1,o=test
      dc=dependency2,dc=dependency1,o=test
      dc=dependency3,dc=dependency2,dc=dependency1,o=test
      entryuuid=11111111-1111-1111-1111-000000000005+dc=dependency4,o=test
      dc=dependency5,entryuuid=11111111-1111-1111-1111-000000000005+dc=dependency4,o=test
      
      

      I've created a unit test for this issue: org.opends.server.replication.DependencyTest.addMultipleServersDependencyTest()
      When committed, the test will be disabled by default.
      To run it, enable the test and run:

      mvn install -Pprecommit -DfailIfNoTests=false -Dit.test=org.opends.server.replication.DependencyTest.addMultipleServersDependencyTest
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              matthew Matthew Swift
              Reporter:
              ludo Ludovic Poitou
              Dev Assignee:
              Matthew Swift Matthew Swift
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: