[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Loading the refint module globally?



Andrew Bartlett wrote:
On Sat, 2008-03-15 at 18:28 +0100, Pierangelo Masarati wrote:
Pierangelo Masarati wrote:
  ... each instance would take care of referential integrity only within
the database, but inconsistencies across databases would not be handled.
  I think the latter case is what you'd like to see addressed, right?
In any case it's now implemented in HEAD (ITS#5428); please test.

p.

Is the refint module synchronous or transaction based?

It is necessarily asynchronous. It will cause deadlocks in combination with other overlays if it's made synchronous. (Been there, done that, ITS's already dealt with...)


I'm seeing some *very* odd effects in my test script, that could be
explained if the overlay did it's work asynchronously after returning
success to the client (for the original operation).

Things I'm seeing are:  When loaded as a per-database overlay, the
search for:

member=member=CN=ldaptestuser4,CN=ldaptestcontainer2,DC=samba,DC=example,DC=com

fails in my test script, but succeeds if I restart slapd and search with
ldbsearch.  Just earlier in the script, cn=ldaptestcontainer is renamed
to cn=ldaptestcontainer2.

If I load the overlay globally, this entry (cn=ldaptestuser4) actually
disappears completely, including the member reference.  (It shouldn't be
deleted, but perhaps one of the earlier operations triggers it).

This seems very odd - if you don't have any clues, I'll look into
running this over TCP (rather than ldapi) and get a trace.

Just use -d7 to get packet traces, no need to change your connection method. -- -- Howard Chu Chief Architect, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/