[ZODB-Dev] Debugging ConflictErrors

Christian Robottom Reis kiko at async.com.br
Thu Jan 15 11:12:11 EST 2004


On Thu, Jan 15, 2004 at 05:02:24PM +0100, Thomas Guettler wrote:
> > I'm not sure I've said this before, but using the root object to hold a
> > large/variable number of objects is a Bad Idea. The root object is a
> > PersistentMapping, which provides no conflict isolation, and in the long
> > run it's almost impossible to do any write-intensive concurrent work
> > with one without generating an endless number of conflicts.
> 
> Sorry, the was term "root object" was wrong. I meant the object
> which holds all my application. It is stored in conn.root()["server"]

Well, what sort of object is *that*?

> This persistent object holds containers which store the data.

IOW, what sort of container?

> It would be nice to have some documentation about ConflictResolution.

Agreed; would be nice if `someone' took the time to understand and write
out how it works <wink>.

> In some situations you can ignore that some other thread has written
> the data you have read. (ReadConflict)

Note that Jeremy's MVCC work in 3.3 should eliminate ReadConflicts.

Take care,
--
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 261 2331



More information about the ZODB-Dev mailing list