a vueltas con LDAP – txn_checkpoint failed: Invalid argument (22)

Esta mañana me he encontrado con que el servidor LDAP no funcionaba. Tras un vistazo rápido al log del sistema (/var/log/syslog) me he encontrado con este mensaje, ideal para despertar a dormidos. He puesto en negrita la parte más importante del informe de fallo, IMHO.

Apr 26 09:08:21 mestizo slapd[19794]: @(#) $OpenLDAP: slapd 2.4.25 (Apr 11 2011 22:16:45) $#012#[email protected]:/build/buildd-openldap_2.4.25-1-i386-4ptz56/openldap-2.4.25/debian/build/servers/slapd
Apr 26 09:08:21 mestizo slapd[19795]: bdb(dc=midominio,dc=net): Build signature doesn't match environment
Apr 26 09:08:21 mestizo slapd[19795]: hdb_db_open: database "dc=midominio,dc=net" cannot be opened, err -30971. Restore from backup!
Apr 26 09:08:21 mestizo slapd[19795]: bdb(dc=midominio,dc=net): txn_checkpoint interface requires an environment configured for the transaction subsystem
Apr 26 09:08:21 mestizo slapd[19795]: bdb_db_close: database "dc=midominio,dc=net": <strong>txn_checkpoint failed: Invalid argument (22)</strong>.
Apr 26 09:08:21 mestizo slapd[19795]: backend_startup_one (type=hdb, suffix="dc=midominio,dc=net"): bi_db_open failed! (-30971)
Apr 26 09:08:21 mestizo slapd[19795]: bdb_db_close: database "dc=midominio,dc=net": alock_close failed
Apr 26 09:08:21 mestizo slapd[19795]: slapd stopped.

Del servidor de LDAP, slapd, hay poco malo que decir. Funciona rápido y bien, sobre equipos con pocos recursos y no lo canibaliza en exceso, cosa de agradecer. Pero sí se puede pensar que es muy propenso a fallos en cuanto se actualiza algo, lo más mínimo, que toque tangencialmente el servidor. En ese momento, deja un montón de literatura en los ficheros de registro y se detiene.

Tras dos minutos de búsqueda (otras caídas súbitas del servicio me han enseñado a buscar bien y rápido), apareció la respuesta. Todo pasaba por reparar la base de datos del servidor, que ha quedado inconsistente. Más claro, en comandos:

$ sudo /etc/init.d/slapd stop
$ cd /var/lib/ldap
$ sudo db4.8_recover 
db4.8_recover: Build signature doesn't match environment
$ sudo /etc/init.d/slapd start

¡Listo! Como si no hubiese pasado nada.

7 ideas sobre “a vueltas con LDAP – txn_checkpoint failed: Invalid argument (22)”

Los comentarios están cerrados.