[Date Prev][Date Next]
Re: (ITS#3746) Lock table errors
>Full_Name: Quanah Gibson-Mount
>Version: OpenLDAP 2.2.26
>OS: Solaris 8
>Submission from: (NULL) (188.8.131.52)
>My master kept accepting changes, but then all changes would be rejected by the
>replica's. The only error in the reject files was:
>ERROR: Internal (implementation specific) error
>After starting up a replica in debug mode, and replaying the changes, I tracked
>it down to:
>bdb(dc=stanford,dc=edu): Lock table is out of available locks
>=> bdb_idl_insert_key: c_get failed: Not enough space (12)
><= key_change 12
>Attribute index add failurebdb_modify: modify failed (80)
>which is really much more useful information than the internal error message.
>Is there wany way to get slurpd to have a more useful error message?
In all 2.2 releases slurpd logs as much error information as the target
server provides. So your question should be, is there any way to get the
slave server to provide more useful error messages in its LDAP
responses? I think in this case it will be hard, since the real message
(Lock table is out of available locks) is run in a BDB callback that has
no access to the original caller. The only message the BDB library gives
back to the caller is "Not enough space" which will probably not be
helpful on its own.
In general the server does not provide details for internal errors in
LDAP messages; relying instead on the system logger to record the
details. And in general I think that's appropriate, as the internals
will mean nothing to a remote client anyway, and a sysadmin must login
to the slave server to diagnose and fix the problem regardless.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
Symas: Premier OpenSource Development and Support