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

Possible inconsistent state after backup restore

    XMLWordPrintable

Details

    • Bug
    • Status: Done
    • Critical
    • Resolution: Fixed
    • 5.5.0, 6.0.0, 6.5.0, 7.0.0, 7.1.0
    • 7.2.0, 2021.9
    • replication

    Description

      How to reproduce (see the attached script):

      • setup-ds & start-ds
      • Take a backup (e.g: using cp -ra db db.bak)
      • generate some modifications (e.g: using, addrate)
      • stop-ds
      • export-ldif as expected.ldif
      • restore the backup
      • do a quick start-ds && stop-ds multiple time
      • start-ds keep it alive for 10 second (long enough to let it a change to apply changes)
      • sop-ds
      • export-ldif as result.ldif
      • ldifdiff result.ldif expected.ldif => some entries are missing and will never be recovered

      Problem seems to lie on the way we update the local persistent state for the case of ReplicaOfflineMessage. The ReplicaOfflineMessage is updating the DS local persistent state synchronously while the other changes are updating it asynchronously.

      As a result, the replica offline message can update the state before the pending changes "in-fly" which are then becoming considered as being done if the server is stopped at this point.

      It seems (to be verified) this has been introduced as part of OPENDJ-2190. Given OPENDJ-2190 has been introduced in 5.5, I've set "Affect Version" accordingly.

      Some more context about the issue: https://docs.google.com/presentation/d/10GzhcSIoZ5WlgIQwlFwG9-vDhA8HUywgwlFhZnYK90M/edit#slide=id.p

      Attachments

        Issue Links

          Activity

            People

              ondrej.fuchsik Ondrej Fuchsik
              ylecaillez Yannick Lecaillez
              Yannick Lecaillez Yannick Lecaillez
              Ondrej Fuchsik Ondrej Fuchsik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: