[Sugar-devel] Datastore index corruption
Bernie Innocenti
bernie at codewiz.org
Sat Jun 19 20:33:50 EDT 2010
We've found an XO-1 running Fedora 11 + Sugar 0.84 with an interesting
datastore corruption issue.
The journal was showing just one object, but the
~/.sugar/default/datastore directory contained 4-5 invisible entries.
After removing index_updated and restarting Sugar, the entries
reappeared.
There was no time to analyze the problem in detail, but I have strong
feeling that this isn't an isolated case. It would explain other reports
of files disappearing and mysteriously reduced disk space.
Some reflections:
* the corruption could be caused by flash problems. I have found
laptops in the field that wouldn't boot because /sbin/lvm was
corrupted
* we can't exclude jffs2 problems too: when it's almost full, it does
slow garbage collection passes on boot which kids interrupt by
power cycling. I wonder how robust jffs2 is in this case.
* there might be a bug in xapian. If so, we'll see this issue also
on the XO-1.5
* I'm skeptical it's a new issue in 0.84 or F-11: the older builds
had so many data loss issues that a subtler problem like this
could have easily gone unnoticed.
* can the datastore detect index corruption in the most obvious cases?
If so, what would it do?
* how long does it take to rebuild the index on a busy journal?
Can we afford to rebuild from time to time? On every boot?
* finally, if we can't find a 100% robust solution, would it make
sense to add a "Reindex Journal" button somewhere? Where would
you put it?
--
// Bernie Innocenti - http://codewiz.org/
\X/ Sugar Labs - http://sugarlabs.org/
More information about the Sugar-devel
mailing list