Note: This ITS need not hold up 2.4.7; the tests fail in 2.4.6 too.
I wrote:
> "./run -b ldif test004-modify" gets noSuchObject when it attempts to
> delete "cn=James A Jones 2,ou=Information Technology Division,
> ou=People,dc=example,dc=com".
The same happens in test008-concurrency. The ldapsearch output contains
4 entries that should have been deleted:
dn: cn=James A Jones 2,ou=Alumni Association,ou=People,dc=example,dc=com
dn: cn=James A Jones 3,ou=Alumni Association,ou=People,dc=example,dc=com
dn: cn=James A Jones 4,ou=People,dc=example,dc=com
dn: cn=James A Jones 5,dc=example,dc=com
The Delete operations for those got noSuchObject, but further Binds
as them succeed. (At least in spot checks of Joneses #3 and #4.)
slapd-addel.c contains #if 0'ed out code
/* wait a second for the add to really complete */
/* This masks some race conditions though. */
sleep( 1 );
The program's Add and Delete calls are synchronous, so I'm not sure what
that is about. In any case, it made no difference to put a random 0-15
second sleep there (so the slapd-addel processes would delete at
different times).
While I'm checking this - other tests that fail with back-ldif:
test027-emptydn [cannot slapadd to a database with suffix ""]
Unsupported operations, I guess:
test016-subref
test017-syncreplication-refresh
test025-limits [didn't bump into server-side unchecked limit]
test037-manage
OK failure - compare fails because of entry order from ldapsearch:
test012-glue-populate
test026-dn
test004, test008 and test017 succeed in 2.3.38. Maybe the fix to
ITS#4627 (back-ldif issues) was bad?
--
Regards,
Hallvard