On Wed, May 7, 2014 at 1:17 PM, Emmanuel Lécharny <elecharny@gmail.com> wrote:
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.

+1, and thanks for the great additions to the inspector program
More to come later !

Emmanuel Lécharny

Kiran Ayyagari