[MAGNOLIA-6560] Isolation level of MarkNodeAsDeleted is not sufficient - Possible data loss Created: 22/Feb/16  Updated: 09/Feb/17  Resolved: 09/Oct/16

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: 5.3.12
Fix Version/s: 5.5

Type: Improvement Priority: Major
Reporter: Thim Anneessens Assignee: Ilgun Ilgun
Resolution: Fixed Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to MGNLUI-3398 Redesign action capabilities: multi-i... Closed
relates to MAGNOLIA-6835 Migrating node types results in usele... Closed
relates to MAGNOLIA-6867 AsyncCommandLockingTest: Improve/inve... Closed
relates to MAGNOLIA-6816 Provide availability rule for locked ... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Sprint: Basel 65
Story Points: 21

 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.


Generated at Mon Feb 12 04:15:40 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.