Hello, 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 1.1.2.4 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 # http://www.oracle.com/technology/documentation/berkeley-db/db/ref/env/db_config.html # for detail description of DB_CONFIG syntax and semantics. # # Hints can also be found in the OpenLDAP Software FAQ # http://www.openldap.org/faq/index.cgi?file=2 # in particular: # http://www.openldap.org/faq/index.cgi?file=1075
# 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 #set_data_dir db
# Transaction Log settings set_lg_regionmax 262144 #EXP set_lg_bsize 2097152 #set_lg_dir logs
# 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, Gabriele