[ZODB-Dev] BTree corrupted after conflict resolution

Dieter Maurer dieter at handshake.de
Wed Mar 3 17:08:31 EST 2004


John Belmonte wrote at 2004-3-3 08:55 -0500:
> ... "__cmp__" not called during conflict resolution ...

Maybe, I understand the problem:

  During conflict resolution the state does not contain
  the persistent subobjects themselves but only references.

  Therefore, your "__cmp__" cannot be used to compare
  the persistent subobjects. Almost surely, the default
  "__cmp__" is used which is, of course, wrong and
  can lead to corruption.

Almost surely, we must add a further restriction for BTrees:
the keys must not be persistent objects.

-- 
Dieter



More information about the ZODB-Dev mailing list