[Zope] [Fwd: [BTreeFolder2] BTree keys corruption problem] Related LDAP problem ??

FLORAC Thierry thierry.florac at onf.fr
Tue Feb 24 03:14:46 EST 2004


  Hi,

I posted the following message a few weeks ago, to explain a problem of duplicated keys into a BTreeFolder2 subclass.
After looking for the origins of this problem, I just discovered a possible one :
 - the authentication into my web site is done via an LDAPUserFolder component ;
 - for an unknown reason (I don't know LDAP very much !), if a user authenticate himself using spaces before or after his user name, authentication is OK ;
 - if I try to create a new entry into my profiles folder using this user name (including spaces !), the entry is created into the BTreeFolder2 without spaces, and that seems to create duplicated keys !!

Could I be wrong ??
I tried to resolve this problem by just striping the user name automatically before creating or loading his profile, and that seems to work.
But I would always like to know if I look into the right side, and if there is any way to repair my broken duplicated keys...

Thanks for any help or advise.

  Thierry



========================================================================
  Hi,

I'm currently using a subclass of a "BTreeFolder2" as a container to
store my Zope (2.6.1) intranet site users profiles (with actually nearly
6000 profiles).

Everything works OK but I have a little problem : a few keys (~50) are 
duplicated into the folder, visible at the beginning of the folder
content ; some of the keys are even duplicated several times and visible
without real order (see 'jmdal' on the attached screenshot !).

The problem also is that if I try to remove a duplicated key, the 
corresponding entry is removed, but the other keys are kept, pointing to
nothing !!

I've tried to use the "manage_cleanup" method available with the last
release of BTreeFolder2, but without success : result is "No damage
detected" !!

So my questions are :
 - how can I avoid these duplicated keys, as long as I only add my users
profiles via a simple Python script which shouldn't break keys, with :
if not context.users.has_key(username):

context.users.manage_addProduct['MyProduct'].manage_addUserProfile(username)

 - as the profile's creation is automatic as soon as the user is
authenticated (it's an internal site !), could the problem be due to
'concurrent' method calls ??

 - is it possible to rebuild the folder keys, without breaking the
pointed records ??

Many thanks for any help or advise.

  Thierry





More information about the Zope mailing list