Andrew Bartlett wrote:
Is the refint module synchronous or transaction based?
Asynchronous, but no transaction. It does its best to preserve integrity, but in case of failure errors are just logged and do not alter the result of the add operation.
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
Do you mean '(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.
OK. p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.r.l. via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it --------------------------------------- Office: +39 02 23998309 Mobile: +39 333 4963172 Email: pierangelo.masarati@sys-net.it ---------------------------------------