[ZODB-Dev] BTree corrupted after conflict resolution

John Belmonte john at neggie.net
Tue Mar 2 18:47:06 EST 2004


I wrote:
> In 3.3a2, I'm getting corrupted BTrees, where BTrees.check.check reports 
> that the keys are out of order.  The corruption never occurs when I 
> populate the container from a single client, only when populated from 
> multiple clients simultaneously.

I'm still working on this.  I'm using first-class persistent keys.  When 
I hack my code to use string keys instead, there is no problem.  So 
you'd think it's just a problem with comparisons on my user-defined 
keys, but I don't think it's that simple.  From what I can tell, the 
__cmp__ method of my user key is being called correctly in the case of 
the normal client context, but is *not* being called during conflict 
resolution in the ZEO server context.  This symptom corresponds with me 
only seeing the corruption with multiple clients, after BTree conflict 
resolution has occurred.

My first guess is that it's once again an issue about the server context 
not being able to locate my key class, and for some reason the exception 
is getting suppressed.

-John


-- 
http:// if  ile.org/



More information about the ZODB-Dev mailing list