[sugar] DS possibilities

Martin Langhoff martin.langhoff at gmail.com
Wed Apr 23 19:36:35 EDT 2008


On Thu, Apr 24, 2008 at 7:42 AM, Benjamin M. Schwartz
<bmschwar at fas.harvard.edu> wrote:
>  Reports from the field, especially from Carla and Bryan, have indicated
>  that the datastore can get into a corrupted state from which it cannot
>  recover.  The corruption persists over a reboot.  After corruption,

Can we get copies of the corrupt DS files?

As per the irc discussion today, I think we can

 - teach the DS backend how to recover gracefully if it finds a corrupt entry
 - tweak the most vulnerable points of the DS code to be more atomic

A good trick is to start yanking the power (or kill-9'ing the DS
process) while something is being saved.

Most of the times I've seen this kind of corruption, changing some
open calls to make a copy beforehand was enough. If one document is
lost due to powerloss, tough, the important thing is that on reboot
everything still works, even if we lost that document.

>  subsequent datastore calls usually raise exceptions, which are not handled
>  by the Activities (including the Journal) and so no Activities will load,
>  and Sugar is unusable.

Activities should handle errors returned by the DS :-/ those are
activity bugs. But we assume a generally working DS for a working
Sugar environment.

cheers,



m
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Sugar mailing list