[elephant-devel] Sync in multi-process operation

Alex Mizrahi killerstorm at newmail.ru
Thu Jul 17 12:28:52 UTC 2008


 ??>> what do you mean by "picked up" -- seen via indices, or something
 ??>> else?

 LPP> Seen via indices.

this is sort of weird -- db-postmodern does not do any sort of caching on 
indices,
changes are written directly into database on txn commit, and are read from 
it.

behaviour you're observing might happen if different processes see different
indices (due to schema updates or transaction fails, for example), as index 
instances
are cached in class. if so, it would be very easy to check it next time 
you'll have such
bug -- just inspect class instance, or retrive class indices in different 
processes
and check if they have different OID.

another possibility is that values got filtered for some reason, or 
something.
(this is very unlikely, but who knows..). if
you're sure that two processes use same indices, try doing low-level queries
to see difference in output etc.

also, i've found that :enable-multi-store-indexing flag in config makes 
index caching
more robust, as it does additional checks etc. so, if you have found that 
indices got
desynchronized, try this flag, maybe it works better with it :)

p.s.: some time ago i've posted here some case examples where index caching
leads to problems, so there are known issues with this. however, these 
issues
should not affect working systems -- once you've settled with schema and all
indices were created, it will work pretty stable. 




More information about the elephant-devel mailing list