Hi guys, Kiran added a checker for Mavibot, which control that the file is in a decent state. THat will help for at least two purposes : - to verify that we don't have holes in the file (ie, all the pages are really in use) - with some refactoring, this will be the base for a recover of unused pages after a crash.
All in all, it's not completely implemented, atm we can check the Btree of Btrees, and the Btree Header of every version of every user's btree. The CopiedPage B-tree is not yet checked, nor are the b-trees themselves, but this will be done later today. Last, not least, we also need to check the sub-btrees. The idea is to expose the list of unused pages if we have some. This output shows the used pages as '1' and unused pages as '0' : [0] 01010011010101010101010101010110 [1] 01000101110111001000010111011101[0] 100010011101110011.............. (keep in mind that we still have to check the b-trees content, thus the 0). This is also needed for any work done on the free pages collector. I'd like to have an output that list all the b-trees, with the pages they are using, a bit like : [0] 01010001000000000000000000000000 : B-tree of B-trees [0] 00101100100000000000000000000000 : B-tree 'test' rev 0 [0] 00100010101000000000000000000000: B-tree 'test' rev 1 ... [0] 11111111111111111111111111111111 : global pages Thus we can see the shared pages (those which will be set to '1' in more than one b-tree) Otherwise, after a bug Kiran fixed, the server can use Mavibot as a backend (all the tests are passing green). It's probably time for a release, assuming that the file will grow over time, as we don't yet reclaim old pages. At least, we should merge back the branch we are working on into trunk. More to come later ! -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
