[rucksack-devel] Current status

Arthur Lemmens alemmens at xs4all.nl
Sun Sep 3 15:08:02 UTC 2006


OK, I think I've got indexing and schema updates working correctly
now.

If you want to play around with this, have a look at the
test-index*.lisp and test-schema-update-*.lisp files.  On Lispworks
5.0, these tests work fine for me, but as usual I haven't bothered to
check them out on other Lisps.

If there's any breakage on other Lisps, I expect they will be caused
by MOP incompatibilities, even though I removed some Lispworks
specific MOP magic to keep everything as portable as possible.

Bug reports and patches welcome, of course.


Next on my list are:

* Making Rucksack crash proof

I think that the free list updates that are necessary for the
mark-and-sweep GC may be too dangerous: if the system crashes while a
free list is being updated, we may get an inconsistent free list.
That would be fatal.

So I intend to move towards a system where nothing is ever updated in
the heap: just append new object versions to the end of the heap, with
a pointer to the previous version.  And use a copying GC to get rid of
obsolete versions.  Then only the object table needs to be changed to
make sure that object ids always point to the most recent version.

I'm currently working on the copying GC (incremental of course).  Once
that works, I intend to write a recovery mechanism along the lines of
my talk for the ECLM 2006.

* Import/export to s-expressions

We need a facility to export the entire contents of a rucksack to some
kind of s-expression format (and to create a new rucksack from such an
export file).  That way, we can migrate existing rucksacks to new
versions of Rucksack that may use a different internal structure.

* Transactions revisited

Finally, I intend to have one more close look at transactions.  I
still think that it may be interesting to implement the NAMOS system
by David Reed (see my email of 2006-05-19 at
http://common-lisp.net/pipermail/rucksack-devel/2006-May/000050.html).


Arthur




More information about the rucksack-devel mailing list