[elephant-devel] test concurrency
Alex Mizrahi
killerstorm at newmail.ru
Tue Mar 25 12:49:24 UTC 2008
i've sort of extended concurreny tests with various scenarios and checks.
these checks test for consistensy and proper transactional isolation and
atomicity.
but some backends (read: CLSQL) might have problems supporting high level of
isolation.
so, does it make sense to support weaker isolation "profiles"?
i suspect that backend with weaker isolation will just fail.
but probably it can pass some subset of tests and get "weak isolation
certification".
if there are people who think it's important, i'd be glad to here from you.
also, postmodern backend passes all tests except one -- creating the first
instance of indexed class inside multiple threads.
it's pretty same problem as i've described in "class indexing txn problems"
message, but with more complexities.
problem is actually in creating indices for class. thread that starts first
will create index structures and will write into index-cache slot.
other threads might see this cache before that first thread commits, and
will fail using index btree because of transactional isolation.
Ian, you said you know a workaround for this problem. will it work in this
case -- disallowing concurrent threads to see index cache slot?
if other threads will not see cache before txn commits, they will try to
make index themselves. i think we can make sure that concurrent attempts to
make index will result into write conflict, and so one of transaction will
be restarted. this should also work in case of multiple processes.
More information about the elephant-devel
mailing list