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

Index corruption



Hi all,

We are running 2.0.22 under FreeBSD 4.5.  This morning my
indexes got corrupted in an interesting manner, so that
the directory believed it had a record which didn't actually
exist.

I found one other case rather like it in the archives, but
no real explanation.

I tried to add a very simple posixAccount record:

dn: uid=chris3,dc=au,dc=cordoors,dc=com
objectClass: posixAccount
uidNumber: 1946
gidNumber: 400
homeDirectory: /usr/users/chris
loginShell: /bin/tcsh
gecos: Chris Robertson
cn: Chris Robertson
uid: chris3
userPassword: x

and the add failed with a "record already exists" message.
Tried to delete the DN, and got the following message:

 Delete Result: Unknown error (80)
 Additional info: DN index delete failed

I tried adding a similar record with uid=chris4, and
had no problems adding it or deleting it again.

I dumped the directory with slapcat, and the uid=chris3
record definitely didn't exist.  I shut down slapd
and re-made the indexes; no change.  I physically
removed the indexes and re-made them; no change.
I deleteled almost every record from the directory and
re-made the indexes; no change.

The only thing that worked was removing the whole damn
directory and re-creating it from scratch with slapadd.

Can anyone shed any light on this?  I'm not aware of
anything out of the ordinary happening around the time
the indexes got munched.

--Chris Robertson
Corinthian Engineering