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

Re: Newbie in OpenLDAP Question

> Newbie in OpenLDAP Question
> I?m working on an application that amongst other things distribute video
> users presence on Directory servers. The application works fine with
> Sunone (Iplanet), NDS, Active dir and such.
> Our clients are Win32, so I took your latest Openldap version and ported
> it to win32 following the suggested guidelines. It worked smoothly at
> first.
> My application puts all its entries under a simple tree
> ou=myorg,dc=mycompany, dc=com. It has a refresh mechanism of 15 minutes
> that deletes all the application entries from the directory server and
> inserts them again (something between 5-200 Entries of inetOrgPerson
> Class).

poor design; if you need to pull all out and readd them, why don't you
just delete the DB and recreate it freshly?  but first, why do that?

> Now after few days that the application is running the slapd suddenly
> stops working. Debug info shows - ?System Error 12 (not enough space)?,
> the slapd fails to open the id2entry.bdb file when I run it.
> The call stack shows (just the Berkley api calls):
> __db_open_pp Calls __db_open Calls __fop_file_setup  and there it fails on
> some MACRO called ?GET_ENVLOCK? which causes the function to return 12.
> An interesting issue is that the file the slapd is trying to open
> (id2entry.bdb file) doesn?t seem to be the faulty file.
> I have the following list of files in my DB directory:
> __db.001
> __db.002
> __db.003
> __db.004
> __db.005
> cn.bdb
> dn2id.bdb
> id2entry.bdb
> objectClass.bdb
> sn.bdb
> And eight huge Log files 10megs each (I don?t know yet how they were
> created. Could they be related to the problem? How do I avoid creating
> them?).

db_archive will tell you which can be safely deleted; I suggest you don't
muck with those files otherwise.

> Once I replace __db.004 with an old __db.004 file (previous to my
> application adding and deleting the entries) the slapd works fine
> (id2entry.bdb file opens and I see all the entries and the directory
> tree).


> I?m really stuck here. I?ll take any suggestions since I don?t know my way
> around the Berkley DB api.  My next step is to replace the DB but I really
> wish to avoid it. If anyone is willing I can send the faulty DB for a
> checkout.

1) read about Berkeley's docs, browse archives (recommend recent posts by
Howard Chu and Quanah Gibson) and find out how to design an appropriate
DB_CONFIG file for your Berkeley DB.
2) redesign your application to do only the required changes


Pierangelo Masarati

    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497