Roundup Tracker - Issues

Issue 1883580

classification
Race condition in Roundup's handling of files
Type: Severity: normal
Components: Database Versions:
process
Status: closed accepted
:
: richard : richard, stefan
Priority: normal : patch

Created on 2008-01-31 16:00 by stefan, last changed 2008-02-07 00:58 by richard.

Files
File name Uploaded Description Edit Remove
patch stefan, 2008-01-31 16:00
Messages
msg2909 Author: [hidden] (stefan) Date: 2008-01-31 16:00
Saving file content with Roundup is not an atomic operation. Thus, there is a small window in which a file exists without being attached to a nodeid in the database.

If the roundup process is killed at that point (say, because the computer crashes), and restarted, its next node created will reference the wrong file.

(For example, if the last stored file was msg10, but roundup's db only knows about msg9, the next file actually created will be msg10.tmp, though roundup will dereference the old msg10 file.

The attached patch attempts to fix this. It contains thorough documentation, including suggestions on how to further enhance the design.
msg2910 Author: [hidden] (richard) Date: 2008-02-06 06:04
I've applied the patch. There's some issues with the anydbm backend failing unit tests now though.
msg2911 Author: [hidden] (richard) Date: 2008-02-07 00:58
All unit tests now passing.
History
Date User Action Args
2008-01-31 16:00:04stefancreate