#552 closed defect

the "webdrive" javascript frontend moves objects with delete-before-add — at Version 5

Reported by: warner Owned by:
Priority: major Milestone: undecided
Component: code-frontend-web Version: 1.2.0
Keywords: webdrive preservation Cc:
Launchpad Bug:

Description (last modified by zooko)

The 'delete sometimes appears to fail but succeeds' problem described in #550, coupled with user reports of directories disappearing during a move operation, makes me wonder if the allmydata.com javascript frontend (known as the "webdrive", and which will be copied into Tahoe some day when we get the time to make it sensibly configurable) is using delete-before-add sequencing in its "rename"/"move" operation.

Tahoe's own "mv" behavior uses add-before-delete, so that if anything goes wrong, you'll wind up with two copies of the file (or directory) being moved, rather than zero.

This ticket is just to remind me to check that the javascript frontend (webdrive) does the same thing.

Change History (5)

comment:1 Changed at 2008-12-06T04:13:02Z by warner

Peter was able to confirm that the javascript *does* do delete-before-add, so any error (including the #550 one) will cause the file or directory being moved to be lost. make-before-break, kids.

comment:2 Changed at 2008-12-06T04:52:15Z by warner

  • Priority changed from major to critical

comment:3 Changed at 2009-12-27T19:20:20Z by warner

  • Summary changed from does the "webdrive" javascript move objects with delete-before-add? to the "webdrive" javascript frontend moves objects with delete-before-add

updating title since the bug was confirmed. Note that this is a bug in code which does not ship with Tahoe: it's still in the process of being cleaned up for release.

comment:4 Changed at 2010-03-25T05:01:52Z by davidsarah

  • Keywords preservation added

comment:5 Changed at 2012-03-29T16:00:54Z by zooko

  • Description modified (diff)
  • Priority changed from critical to major

Maybe we should move this ticket to an issue tracker for webdrive (there is one -- right over here).

Note: See TracTickets for help on using tickets.