[elephant-devel] Odd interaction between elephant and SBCL PCL/MOP

Ian Eslick eslick at csail.mit.edu
Wed Feb 22 19:04:27 UTC 2006


The BDB write problem is resolved.  An earlier test in the suite set
*auto-commit* to nil which fails in BDB in any write not wrapped in a
transaction.  Slot writes are not automatically wrapped in transactions
and thus depend on auto-commit;  although (now) all btree operations are
wrapped in an inner transaction.

auto-commit = t is important for such unprotected write cases.  The nice
thing about that is you can wrap an outer transaction, deassert
*auto-commit* and get pretty efficient slot writes (especially with
:no-sync) under BDB if you so choose.

I wonder if it's worth tracing all paths to BDB writes and putting in
asserts to catch unprotected calls in 0.6.1.  Maybe a trace macro that
can be turned on for debugging and off for production to avoid
performance hits.

The slot-boundp problem still exists however.

Ian


Ian Eslick wrote:
> After the reorg we're left with a couple of little annoyances.  One of
> them deals with class redefinition interacting with indexing interacting
> with SBCL's PCL/MOP under BerkeleyDB.  I want to see if anyone on the
> list is more familiar with SBCL than I and might have an idea of where
> this problem lies.  It's also one of those unpleasant bugs that only
> show up in certain contexts.
>
> 1) Run indexing-reconnect-db standalone: passes fine
> 2) Run do-backend-tests: fails with one of two bugs:
>     a) berkeley-db error (still tracking down exactly why there's an error)
>     b) slot-boundp doesn't find slots that are clearly there and
> readable by slot-value
>
> I'm trying to isolate the problem but am short on time and SBCL
> familiarity.  I am doing one funny thing in the tests to try to set
> proper initial conditions for the test and that is wiping the reference
> to the class via: (setf (find-class 'class-name) nil).
>
> I can provide some more insights if anyone is willing to lend a bit of a
> hand.  We're very, very close to 0.6.0 now I think.
>
> Ian
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>   



More information about the elephant-devel mailing list