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

Re: deferring operation: pending operations

Ben Beuchler wrote:
> On 4/7/07, Ben Beuchler <insyte@gmail.com> wrote:
>> I'm getting a ton of these errors in a row, all on the same connection:
>> Apr  5 11:32:48 swizzle slapd[1626]: connection_input: conn=6232680
>> deferring operation: pending operations
> I've upgraded the client that was triggering the above failures.  That
> client is still intermittently hanging on its auth attempts.  The
> slapd frequently logs this message on connections owned by this
> client:
> Apr 10 13:14:39 swizzle slapd[5944]: connection_input: conn=1696
> deferring operation: binding
> The client is making auth binds (anonymous search for dn, followed by
> binding with that dn) for numerous users.  It does all of this over a
> single LDAP session that is kept open more or less until either the
> client or slapd is restarted.  It rarely makes more than 3 - 5
> requests per second, so it seems unlikely that OpenLDAP is actually
> unable to keep up.
> What type of errors could the client make that would result in
> repeated deferrals?

I'd note that if your client is performing search + bind on the same
connection in an asynchronous manner, then the server behavior as per
RFC4511 is undefined, since a server is not supposed to be willing to
handle operations intermixed with binds until a bind is concluded.  That
is, any operation can be multiplexed on a single LDAP connection
__except__ binds, which must be serialized.  A more appropriate client
for that type of operations would need to use at least 2 connections,
one for searches and one for binds, and the one for binds should take
care of either performing synchronous binds, or in any case to wait for
response to a bind before performing another.  In case of failure (e.g.
timeout) while waiting for bind response, the connection should be
trashed (see ldap_unbind_ext(3)) and recreated.  This is what is done,
for example, by slapd-ldap(5).


Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it