Bernd,

I think that the result file record includes a md5sum that you could check
during validation and assimilation to confirm that it is the same file.
This would prevent improper assimilation.

How often have you seen this?

thanks,
Kevin


> Message: 2
> Date: Tue, 24 Jul 2012 09:58:56 +0200
> From: Bernd Machenschalk <[email protected]>
> Subject: [boinc_dev] file upload problem
> To: BOINC Developers Mailing List <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> 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