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

Re: (ITS#3746) Lock table errors



quanah@stanford.edu wrote:

>Full_Name: Quanah Gibson-Mount
>Version: OpenLDAP 2.2.26
>OS: Solaris 8
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (171.64.19.82)
>
>
>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
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support