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

Re: bdb_index_read: failed (-30990)



fre, 02.01.2004 kl. 05.14 skrev Ace Suares:

> qwidoStatus can only have two values 'enabled' and 'disabled' and all entries 
> have currently this attribute set to 'enabled'.

My experience is, that it doesn't matter whatever - if any attribute is
queried at all, then index it, even if the parameter is only 'pres'. I
have a list of indexes as long as your arm (that's how I found out how
to use vi's fantastic macro feature) - half of them are never even
queried, but I don't get any corruption issues any more.


> Some questions:
> 
> Do I need to index every attribute that is used in a filter ? 

Definitely.

> Is it really necessary to index a two-value attribute ? 

Definitely.

> Why is the problem intermittent ?

You wrote that the problem only occurs on Debian. It could be anything -
compiler, glibc, clib, other libraries. There's an enormous difference
between RH distros, even, for the above reasons.

> Is it a dbd or an openldap problem ?

The developers can best answer this. Any BDB database can't stand
constant writes and quickly becomes corrupt - Postfix has gone over to
btree from BDB for DBs with much writing (e.g. the new policy daemon),
purely for this reason.

> Some uncertainty: I have recompiled openldap with the proper CPP and LD Flags, 
> as before I had not and had made a symlink to the libraries (which shouldn't 
> matter, should it?). After recompiling the problem stayed, but when I added 
> the qwidoStatus index and did a slapindex, it SEEMED that the indexing went 
> different than previous times. I recall vaguely that these slapindex messages 
> (with -d9):

No idea.

--Tonni

-- 
mail: billy - at - billy.demon.nl
http://www.billy.demon.nl