Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-6560

Isolation level of MarkNodeAsDeleted is not sufficient - Possible data loss

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.12
    • Fix Version/s: 5.5
    • Component/s: None
    • Labels:
    • Release notes required:
      Yes
    • Documentation update required:
      Yes
    • Sprint:
      Basel 65
    • Story Points:
      21
    • Magnolia Release:
      5.5

      Description

      MarkNodeAsDeleted action recursively delete the content of the node from top to bottom. Before deleting the content a version of the node is created so to be able to restore in a latter change.

      However this process is done with very little isolation, each node being deleted is then persisted one by one. This means that operation on nodes could still be performed during the deletion.

      Worst, given that the nodes are marked as deleted one after the other, the recursive restore of the nodes can be launched before the entire recursive delete process is over. This in turn could overtake the delete process and restore nodes before deleting them, causing permanent data loss.

      In order to avoid data loss, delete operation should block any changes on the node structure during the delete operation.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ilgun Ilgun Ilgun
                Reporter:
                thim Thim Anneessens
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: