I’m running openldap 2.3.43 on CentOS 5.3 machine (1 Xeon @2.33GHz, 1.5GB RAM).
My LDAP directory contains about 158000 entry (users) loaded from a massive ldif add.
I’m using hdb database and I defined a couple of additional indexes to default configuration.
Very often (not every time) I stop the service and restart I recive this message:
hdb_db_open: unclean shutdown detected; attempting recovery.
hdb_db_open: Recovery skipped in read-only mode. Run manual recovery if errors are encountered.
After I recive this message I can’t contact ldap server and I have to run slapd_db_recover (that takes long time) to recover db.
This is a test environment and at this time there is no activity on the server (no read/write operations).
This is DB_CONFIG file content (/var/lib/ldap/DB_CONFIG):
# $OpenLDAP: pkg/ldap/servers/slapd/DB_CONFIG,v 188.8.131.52 2007/12/18 11:51:46 ghenry Exp $
# Example DB_CONFIG file for use with slapd(8) BDB/HDB databases.
# See the Oracle Berkeley DB documentation
# for detail description of DB_CONFIG syntax and semantics.
# Hints can also be found in the OpenLDAP Software FAQ
# in particular:
# Note: most DB_CONFIG settings will take effect only upon rebuilding
# the DB environment.
# one 0.25 GB cache
# set_cachesize 0 268435456 1
set_cachesize 0 629145600 1
# Data Directory
# Transaction Log settings
#EXP set_lg_bsize 2097152
# Note: special DB_CONFIG flags are no longer needed for "quick"
# slapadd(8) or slapindex(8) access (see their -q option).
I tried to reduce lg_buffer_size to force the server write log file more often to avoid possible “lost transaction” but this isn’t working.
Any ideas about the cause of these db corruptios?
Thanks a lot,