Hi!

We recently had a case where a result file was uploaded multiple times over and 
over again, even after the result was reported.

One of the uploads happened between validation and assimilation, resulting in 
assimilation of a 'canonical' result that has never been validated (and 
was actually broken).

Certainly this one incident is mainly the result of a misbehaving Client (7.0.3 
IIRC), but in any case I think the server code should be robust 
against such clients.

I can think of a couple of options to prevent this from happening again in the 
future:

- Move the result files from the upload directory when the result is reported; 
validate and assimilate it from this new location (scheduler would need 
to touch (move) result files)

- Make the file upload handler check the result status in the DB (fuh needs DB 
access, additional DB load)

- My current favorite: While receiving a file, the file upload handler appends 
".part" to the filename. Only when the upload was successfully 
completed, the file is renamed to the result file name, but only if there is 
not already a file with that desired name yet. (the antique_file_deleter 
will eventually clean up partial uploads, too). Anything that still could go 
wrong with that behavior?

Best,
Bernd

_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to