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

Changelog searches cursor through inappropriate replica DBs

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.5.0, 4.0.0, 3.5.2, 3.0.0
    • Fix Version/s: 5.5.0
    • Component/s: replication
    • Labels:
    • Support Ticket IDs:
    • Sprint:
      OpenDJ Sprint 111

      Description

      With an RS containing changelogs from 4 domains, it is observed that some changelog searches can cursor through the whole of multiple replicaDBs before choosing the correct replicaDB and quickly finding the UpdateMsg.

      This appears to be because the FileReplicaDB.generateCursorFrom() method tries to filter on the startCSN's serverId, ending up passing null to the FileReplicaDBCursor constructor. In FileReplicaDBCursor.next(), this results in us calling nextCSN.compareTo(null), which means the cursor think it is rightly positioned. At the higher level, this translates in the cursor reading and returning all the CSNs from the replicaDB.

      We can just pass the original startCSN to the FileReplicaDBCursor constructor, we can initialize the lastNonNullCurrentCSN member to CSN(0, 0, 0). This name will finally truly that it is non-null.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                JnRouvignac Jean-Noël Rouvignac
                Reporter:
                cjr Chris Ridd
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: