[elephant-devel] Ditching Darcs

Alex Mizrahi killerstorm at newmail.ru
Tue Oct 28 19:38:04 UTC 2008


 RS> On this subject, is there a particular branch that I should be using
 RS> for postmodern?

first of all, definitely a version from darcs rather than a 0.9.1 release.
release version has lots of bugs.

as for stable/unstable branches, there shouldn't be a big difference as most
stuff is same and new one was just extended a bit to handle new features.

on the other hand, new one is almost not tested -- except with automated 
tests we have.
so, use at your own risk..

 RS>  I've noticed occasional issues where it'll complain that a table
 RS> already exists, generally after a non-elephant error has
 RS> occurred within a transaction.

this might be a known problem -- when you touch index for the first time in
a transaction, and that transaction fails, then in-memory index cache gets
desynchronized with stuff in database. this is not a postmodern-specific 
issue,
but a problem of index cache organization.

if this gets annoying, there are some workarounds:
 * for a production environment, you can just ensure that you "touch" all 
indices, classes
   etc. in a safe environment without errors. then if you'll have errors in 
runtime it won't lead
   to erroneous behaviour.

 * in a testing environment where bugs in code are expected, you can add 
this option to your config sexp:
    (:enable-multi-store-indexing . t) and reopen store for each 
transaction. i use this for
   testing and it seems to be working fine, but i suspect it might leak some 
memory, so
   this approach is not good for a production environment.

but i'm not sure that this known problem should produce "table already 
exist" error, could
 be some other bug. if you want us to investigate it please send full error 
description, a
 backtrace, and maybe some idea what transactions were doing 







More information about the elephant-devel mailing list