Hi guys, in the past 5 days, I fought with some serious issues with the LDAP Connection pool. What I saw is that at some point, the pool was stopping to work. The pb was only visible when you had many threads, as it was associated with connections being released and closed because the number of idle connections was above the maximum allowed by the pool (you can configure the pool so that it creates connections on demand, but delete them when the number o finactive connection is above a given number. This is a way to mitigate the pool growth).
The pb was that we were not checking the result of the connection.close() operation : it returns a CloseFuture that has to be used to wait for the terminaison, otheriwse the connection might be in a transient state for a bit of time, and under heavy load, that will really be a pb. I will commit the change, create a JIRA and most certainly cut a new release for this. I have created three tests that are in @Ignore mode, because they are quite long to run (around 2 minutes each). Note that in order to have one of those tests to pass, you will have to tune your system - specifically the TIME_WAIT delay - to let the test create new sockets, as it creates hundred of thousands of them, when you can only have 64k-1024 sockets created with <Address, X, adress, port>n where X is an ephemeral port (on Mac, the number is even lower : 16K, per http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml). Settung a delay of 500ms or even 1s should work, but please, don't do that on a normal server or client.
