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

Re: (ITS#5265) back-ldif flunks test004-modify



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