By sin on Jan 14, 2008
If you are working with Sun Java System Directory Proxy Server (aka DPS) 6.0+ and noticing the following error, you might be interested in this article:
/app/dps/slapd-dps/logs $ ldapsearch -D "uid=ldapadmin,ou=admins,dc=abc,dc=com" -w password -b "dc=abc,dc=com" -p 389 uid=user1 dn
ldap_simple_bind: Operations error
ldap_simple_bind: additional info: Unable to retrieve a backend BIND connectioN
For some of you,the message may be related to a different operation type like ADD or SEARCH etc. However, the reason stays the same. As it is evident from the message, there is no connection available in the pool to serve the request.If you have the default DPS settings, very likely, you would see it when your DPS instance is stressed. By default, MAX connections in a
pool is set to 1024 and it should generally suffice for a normal dps instance.I see this when I stress my DPS instance with SLAMD. Typically, a stress test utilizes all the available connections forcing the new clients to wait for a connection to be free.
Internally, a Worker thread does wait for the time specified in connectionPoolTimeoutInMillisec prior to declaring that there is no connection available. The attribute connectionPoolTimeoutInMillisec resides under cn=config and its default value is 3000.
In case you are getting troubled with this frequently, it means that number of connections in your pool isn't sufficient. Either you can set the MAX to the higher value ( default is 1024), or you can increase the timeout to a higher value ( or, 0 for infinite wait).